MySQL恢复从库时,主库的Binlog接续补上的解决方案

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL恢复从库时,主库的Binlog接续补上的解决方案相关的知识,希望对你有一定的参考价值。

情景

从库从主库的一天前的备份恢复后,出现了如下错误:

SITION = 1, but the master has purged binary logs containing GTIDs that the slave requires

该实例的每秒事务在大概4K左右,所以主库上Binlog很快被冲走了。但由于多数为更新类的事务,老数据总会被最新的更改覆盖成正确的记录。零星会有插入或者删除的操作

处理办法

  • 重新获取备份
    • 数据量过大,容易造成主库性能抖动
  • 根据业务特性,跳过被冲掉部分的更改信息

处理过程

set sql_log_bin=0;
stop slave;
reset master;
set global gtid_purged=‘90ceab5e-5a7f-490e-8103-caf8219a3075:1-88512715043,d54dc219-8fe7-11e8-826f-246e96637188:1-3,e154990a-8fe7-11e8-a92a-246e9661e038:1-3,ec803005-8fe7-11e8-af66-246e9663e440:1-3‘;
set global slave_exec_mode=IDEMPOTENT;
start slave;

参考

以上是关于MySQL恢复从库时,主库的Binlog接续补上的解决方案的主要内容,如果未能解决你的问题,请参考以下文章

mysql误删搭建有主从的主库master binlog处理

MySQL 主备同步技术演化

mysql数据库被攻击怎么恢复数据

log-slave-updates参数

Mysql Replication 主从同步

MySQL主从同步的原理: