Error number: MY-013519; Symbol: ER_GR_ELECTED_PRIMARY_GTID_INFORMATION; SQLSTATE: HY000
Message: Elected primary member %s: %s
:
错误说明:
MY-013519错误是MySQL的一个错误,它指的是节点选择出现GTID与主节点不一致的情况。通俗点讲,这是一个MySQL故障高可用性(Galera集群)生产环境中出现的GTID约束错误。在MySQL Galera中,GTID(全局事务标识符) hash 在节点之间是唯一的,如果在两个节点中发生关系约束,则会引发一个这样的错误。
MY-013519的错误的常见原因是,GTID约束在修复节点时出现冲突。如果用户在Galera故障转移过程中没有在节点之间进行完全的GTID约束同步,就会导致该错误产生。另外,由于GTID受到create transaction语句的影响,因此在已经存在冲突时,database engine 还有可能在它处理事务命令时出现该错误。
解决方法:
一般情况下,依次执行以下几个解决步骤可以解决该错误:
1.确保每个节点上GTID是一样的;
2.在修复节点上执行set global gtid_slave_pos = ”;
3.检查节点状态,确保其互相信任;
4.在MySQL配置文件中确保可以用于异步复制的选项gstid_clone_address和replicate_annotate_row_events配置;
5.如果上面的方法无法解决,尝试用RESET SLAVE取消本地复制状态,然后重新执行START SLAVE操作。
如果上述办法无效,就需要通过以下方式来恢复集群的一致性:
1.从主节点上停止复制(在主节点上执行stop slave;同步停止复制);
2.重置每个节点上的复制状态(在每个节点上都执行reset slave;重置复制);
3.然后重新建立复制(在主节点上执行start slave;开始复制);
4.如果节点操作失败,可以考虑重新建立一个新的复制帐户,该帐户上的权限可以控制客户端,从而实现复制交互;
5.使用GRANT 命令授予节点用户复制节点权限;
6.最后,使用CHANGE MASTER TO命令重新配置复制,以重新连接主节点。