zoukankan      html  css  js  c++  java
  • mysql主从延时临时解决办法

    主从延时临时解决办法:
    主从延迟严重的原因很多,其中有以下原因:
    一、由于无主键大表的delete 和update导致。
    mysql  主从复制时。如果表上没有主键。会导致update和delete操作 在从库全表扫描。或者扫描最大索引。
    在对没有主键的表进行批量的delete和update操作时候,此时从库会阻塞在delete、update语句。(对于几十万记录的表,每秒仅能删除10条记录左右。)。
    如何临时去解决问题呢?
    1、开启从节点复制单线程: set global slave_parallel_workers=1。(可能需要重启从mysql)
    2、开启复制幂等模式set global   slave_exec_mode =  IDEMPOTENT 。
    3、在从库set session sql_log_bin=OFF;stop slave; 手动指定当前的delete、update  。如果是delete from 没有where条件,直接truncate。
    (注意。在执行阻塞的delete update操作的时候回阻塞住stop slave。这时候可以直接kill sql_thread进程。)
    4、跳过所有无主键表的批量delete,update之后。 set global slave_exec_mode = STRICT;stop slave ;start slave; 创建这些表的主键。
     
    二、主库写入压力大,从库跟不上:
    1、临时调整从库参数:
    set global sync_binlog=0;
    set global innodb_flush_log_at_trx_commit=0;
    适当调大slave_parallel_workers (对于5.6及5.6以下没啥用处。)
    适当调大 sync_relay_log (默认为10000,即每10000次sync_relay_log事件会刷新到磁盘。为0则表示不刷新,交由OS的cache控制)
    适当调大 sync_relay_log_info (如果relay_log_info_repository设置为TABLE。则不用管)
    (如果是非GTID模式下: set global log_slave_updates=OFF 或者 set global binlog_format=statement)
    2、stop slave;start slave
     
     
  • 相关阅读:
    CSS 层叠样式表
    一. 图论
    二. log4j配置文件
    三.注解
    3. Map与Tuple
    MappedByteBuffer读写文件
    2. scala中的数组
    1.scala语法
    二. 模式匹配
    一.算法的数学基础
  • 原文地址:https://www.cnblogs.com/vansky/p/9408590.html
Copyright © 2011-2022 走看看