作者:陈伟
爱可生数据库工程师,负责MySQL日常维护及故障处理。
本文来源:原创投稿
*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。
1.故障描述
前一段时间客户反馈复制报错 1236 ,根据报错提示该报错为从库读取到了主库不存在的 binlog 日志,导致复制中断,报错截图如下,需要帮忙分析为什么会报错 Could not open log file 原因。

2.故障分析
说明:考虑客户信息敏感性,以下分析过程均在测试环境模拟,数据库版本 5.7.31 ,GTID 启用。
2.1.先登录从库查看报错信息

发现从库的 io 线程断了,并报错:Got fatal error 1236 from master when reading data from binary log: ‘Could not open log file’ ,从字面意思不难理解,无法从主库获取到 binlog 日志,GTID 停止在 828415 ,检查从库 error 日志报错如下:

根据从库报错信息,下一步我们去主库查看主库的 binlog 信息和 error 日志,看主库 binlog 是否有丢失的

本文详细分析了一起由于人为删除MySQL主库binlog日志导致的主从复制故障,复现了两种不同场景的故障情况,并给出了故障发生的原因和复现步骤。建议避免直接操作binlog,改用purge命令进行清理。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



