MySQL Error number: MY-010443; Symbol: ER_RPL_GTID_LOG_EVENT_IN_STREAM; SQLSTATE: HY000 报错 故障修复 远程处理
文档解释
Error number: MY-010443; Symbol: ER_RPL_GTID_LOG_EVENT_IN_STREAM; SQLSTATE: HY000
Message: GTID_LOG_EVENT or ANONYMOUS_GTID_LOG_EVENT is not expected in an event stream %s.
错误说明
MySQL ER_RPL_GTID_LOG_EVENT_IN_STREAM 错误,是 MySQL 的一个复制错误,当从服务器发布事件时显示,指出以下原因导致异常终止:当在复制流上读取 GTID 事件时,出现了重复的 GTID 事件或者其他 GTID 事件未知。 发生这种情况,是由于源和目标之间 GTID 出现了冲突,一般可能作为恢复方式,应用程序必须重新配置源。
常见案例
MY-010443 错误,当复制服务器正在从源 null 服务器上获取事件时,可能会导致此错误。如果在复制流上存在重复的 GTID 事件或者未知的 GTID 事件,则可能会出现这种情况。
解决方法
要解决复制时出现的 MY-010443 错误,应检查两个服务器之间的 GTID 集是否一致,并检查源服务器的 binlog_format 是否与目标服务器的 binlog_format 相一致。
如果两个服务器的 binlog_format 不相一致,应将 binlog_format 设置为相同的设置,同时还应检查是否有需要在初始化目标服务器时重做的 binlog 事件,这些事件可能会影响到 GTID 的集合。
其次,可以尝试重新启动复制,如果重新启动复制没有成功,则需要重新构建目标服务器,重新启动复制,并从同一个位置重新开始日志追踪。
最后,应该禁止从源服务器发布任何日志事件,只能从 binlog 日志文件中发布日志事件,以确保在源和目标之间的 GTID 同步。