• 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
     
     
  • 相关阅读:
    线程池的实现原理
    log4j 具体解说(不能再具体了)
    MyEclipse中背景颜色的设定
    cacheManager载入问题
    SAP 经常使用T-CODE
    Oracle 版本号说明
    用XMPP实现完整Android聊天项目
    选择如何的系统更能适合App软件开发人员?
    爱国者布局智能硬件,空探系列PM2.5检測仪“嗅霾狗”大曝光
    Innodb引擎状态查看
  • 原文地址:https://www.cnblogs.com/vansky/p/9408590.html
Copyright © 2020-2023  润新知