MySQL Error number: MY-011554; Symbol: ER_GRP_RPL_ADD_GTID_INFO_WITH_LOCAL_GTID_FAILED; SQLSTATE: HY000 报错 故障修复 远程处理
文档解释
Error number: MY-011554; Symbol: ER_GRP_RPL_ADD_GTID_INFO_WITH_LOCAL_GTID_FAILED; SQLSTATE: HY000
Message: Unable to add gtid information to the group_gtid_executed set when gtid was provided for local transactions
错误说明:
MY-011554 ER_GRP_RPL_ADD_GTID_INFO_WITH_LOCAL_GTID_FAILED 是MySQL错误代码, MySQL要求为一个群集复制事务会话添加一个本地GTID时发生错误。它是一个表示一个运行状态错误,组成群集复制器的各个会话都必须具有相同的本地 GTID。
常见案例
运行示例代码,会出现这个错误:
“`
CREATE FUNCTION test()
RETURNS INT
BEGIN
DECLARE gtid_executed VARCHAR(256);
SET gtid_executed := ‘123-456-789’;
EXECUTE ‘ADD GTID_BIND(“‘||gtid_executed||'”)’;
END;
“`
当添加本地GTID的会话尝试添加群集复制事务空间信息时,可能会出现这个错误。
解决方法:
如果处于维护时间的群集中的终端会话(用于复制)发生了影响,应该将其与系统控制台中的其他会话断开,并重新连接它。
另一个解决方式就是确保在整个群集中使用了相同的GTID,这样就可以避免复制会话中出现不同的GTID。要使用相同的GTID,应该在执行复制之前检查复制流中的GTID,如果发现不同,则调用SET GTID_NEXT语句将其设置为正确的GTID。
此外,还可以使用reset master语句重置复制设置,然后重新启动复制,这会将应用程序的所有设置重置为默认设置,并重新启动复制并让其使用最新的复制事务空间信息。但是,确保在重置主服务器前,你可以备份现有的配置,以备不时之需。