问题现象:从库异常
原因:报错中的master binlog文件大于4G
binlog event header结构中next_position 的字段长度只有4字节,也就是说该字段的最大值为2的31次方,也就是4G,当前binglog的位置大于4G时,该字段就会溢出,这也就导致了 binlog event 传输时,next_position 突然会变小,心跳机制会检查到这个变化,产生报错。
解决方法:
1.尝试启动io线程
2.如果以上方法未解决问题:则尝试重启数据库,重新启动slave
3.如果以上方法未解决问题:重置数据库
优化方法:
1.大事务改成小事务
此bug官方地址:
1.https://bugs.mysql.com/bug.php?id=95418