Error number: MY-011607; Symbol: ER_GRP_RPL_FAILED_TO_GATHER_TRANS_WRITE_SET; SQLSTATE: HY000
Message: Failed to gather the set of items written during the execution of the current transaction on session %u
错误说明
MY-011607错误代码ER_GRP_RPL_FAILED_TO_GATHER_TRANS_WRITE_SET,其SQLSTATE是HY000,是MySQL中组复制中发生错误的唯一错误代码。
这个错误提示MySQL数据库在组复制模式以多个事务反向自动复制到集群其他节点时,在搜集写入集群事务,无法搜集到对应的写入集群事物,即MySQL组复制失败,无法将多个事务反向复制到群集。
常见案例
1、MySQL组复制中,没有配置完成事务的复制,MySQL的组复制无法初始化或者打开,因为它不能正确复制工作事务。
2、MySQL组复制中,当配置文件语法或设置错误或超过MySQL安全设置时会发生这个错误。
3、MySQL组复制中,反向复制客户端与服务器之间的连接出现问题没有正确执行,这也会导致出现这个错误。
4、MySQL组复制中,当选项relay_log_purge和innodb_support_xa开启时,组复制也会失败,而出现这个错误。
解决方法
1、检查MySQL配置文件中group_replication_applier_configuration_mode参数是否按正确格式配置。此参数可能为奇数或偶数,如果出现了奇数,说明此参数配置错误,需要更改参数值。
2、使用MySQL安全设置检查当前服务器中的安全参数是否超出界限,如果发现有参数超出界限,请di限以恢复正确的组复制状态。
3、检查服务器之间的网络连接,确保MySQL群集的服务器之间存在稳定的网络,如果发现网络中断,请尽快重新连接网络以防止出现组复制失败。
4、在MySQL组复制中将relay_log_purge和innodb_support_xa关闭,然后重新启动MySQL以重新尝试组复制,重启MySQL后可以恢复正常的组复制。