MySQL 主从relay日志损坏恢复

版本:

        MySQL-5.7.32+GTID

问题:

        MySQL主从同步由于relay日志损坏,导致从库复制报错error: 1594

问题分析:

        在遇到从库relay日志损坏时,重建从库是其中的一个修复办法之一,但该方法的消耗的时间长,效率低,如果遇到数据量大的库,修复时间可能要1个小时以上

        其实,对于从库relay日志损坏,完全可以不用重建从库,在基于GTID的主从同步中,复制进程开启master_auto_position的情况下,从库会将当前已经执行过的gtid集合发送给主库,主库接收到从库发送的gtid集合后,会在现有的binlog里面进行比对,将从库没有执行过的gtid发送给备库,从而保证数据的一致性

 

        所以,在遇到relay日志损坏,只需要重置复制进程,重新拉取主库的日志就行。

问题解决:

        备份当前从库的同步状态信息       

        

show slave status\G
select * from mysql.slave_relay_log_info\G
select * from mysql. slave_master_info 

       

        关闭复制进程

stop slave;

         重置复制进程,会清空当前从库全部的relay log,不要使用reset slave all,因为在5.7.24之后,在master_info_repoistory=table的情况下,reset slave会将连接信息保留在内存里面,不需要重新设置change master,而reset slave all会清空全部的relay log以及配置信息

        重置命令

reset slave;

 

        重新开启复制进程,主从同步恢复 

start slave;

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值