【摘要】MySQL的Crash safe slave是指slave crash后,把slave重新拉起来可以继续从Master进行复制,不会出现复制错误也不会出现数据不一致。
PS:华为云数据库特惠专场钜惠来袭,全场10元起购,直降108000元!新购满额送P30 Pro,点此抢购。
Contents
1 背景
2 Relay log的获取与应用
2.1 源码分析
3 修复计划
3.1 具体实现思路
3.2 流程图
4 总结
1 背景
MySQL的Crash safe slave是指slave crash后,把slave重新拉起来可以继续从Master进行复制,不会出现复制错误也不会出现数据不一致。为保证crash safe slave,需解决由于未同步刷盘导致的binlog文件接收位置和实际不一致或者relay log文件不完整的问题,因此relay_log_recovery为ON是必需配置参数之一。但是设置relay_log_recovery为ON会导致MySQL正常重启或者宕机恢复时以备库的SQL线程执行位置为起点重新向主库请求binlog,可能由于之前主备时延大,请求点的binlog已被主机清除&#x