MySQL5.7半同步复制报错案例分析

来源:这里教程网 时间:2026-03-01 17:34:55 作者:

一、故障背景

  某次,一位客户反馈半同步复制架构的三台数据库的报错日志都在不断刷不同的ERROR信息,但是没有影响到业务的操作,根据以下错误日志的报错信息进行分析。

  主节点1报错信息:

  主节点2报错信息:

  主节点3报错信息:

二、故障诊断

  首先根据报错信息,我们去排查复制的线程状态以及半同步复制的状态,根据查询到的信息判断,数据库的复制进程正常,半同步复制状态正常,日志点位也在同步更新。

  由此我们可以猜测,MySQL可能是因为bug导致崩溃。根据错误信息作为关键字,可以到MySQL的Bug网站和Oracle内部网站MOS中查找是否有相关的记录。   预料之中,在MOS中,匹配到了类似的故障描述。详细可参考文档 [ERROR] [MY-011181] [Repl] Semi-sync Slave Net_flush() Reply Failed (Doc ID 2920615.1)

  根据文档的说明,这个是半同步复制已知的问题,此消息提示是不必要的,但日志级别为 ERROR,是可以忽略的。   而后在MySQL的Bug网站

从改 bug种也可以看到半同步复制的相关特性会导致该 ERROR信息的产生。

三、解决办法和建议

  1、此bug在半同步复制中是常见的,无法对ERROR进行屏蔽,可以将半同步复制转换为异步复制进行避免。   2、升级到mysql8.0版本,建议评估好版本的稳定性以及对系统的影响,由于跨大版本升级需要在测试环境中进行相关测试。

相关推荐