文档解释
Error number: MY-013316; Symbol: ER_GRP_RPL_RELEASE_BEGIN_TRX_AFTER_WAIT_FOR_SYNC_BEFORE_EXEC; SQLSTATE: HY000
Message: Error releasing transaction for execution on session ‘%u’ after wait for sync before execution.
错误说明
MySQL错误Number MY-013316,Symbol ER_GRP_RPL_RELEASE_BEGIN_TRX_AFTER_WAIT_FOR_SYNC_BEFORE_EXEC,这是一个异常状态,对应的SQLSTATE为HY000,表示这是一个系统错误。MySQL在它的Grouo Replication模式下,在开始事务之前尝试等待同步必须失败,因此无法执行事务。Group Replication是MySQL提供的一种数据库管理解决方案,使得MySQL实例可以以分组一致性的方式工作,因此,每个实例必须被完全同步,才能够正常工作。
常见案例
此错误通常在当Group Replication启用的时候出现。例如,如果一个MySQL实例正在等待同步完成,但开始事务前没有完成同步时,就会发生此错误。
解决方法
为了解决此错误,可以尝试检查组成员的相对时间是否正确,并确保Group Replication在正确状态。检查MySQL错误日志中关于同步错误的信息,尝试从中找出出现问题的原因,并做出相应更改。可以尝试增加或减少网络延迟、尝试更改防火墙规则等,以实现Group Replication的最佳同步性能。可以通过强制重新同步或对数据库中的非master节点进行清理,以重置Group Replication成员,然后在启动Group Replication之前配置网络延迟和防火墙规则。
此外,如果上述操作仍然无效,可以尝试关闭Group Replication并重新启动MySQL,如果MySQL服务正常工作,再重新开启Group Replication。