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语句重置复制设置,然后重新启动复制,这会将应用程序的所有设置重置为默认设置,并重新启动复制并让其使用最新的复制事务空间信息。但是,确保在重置主服务器前,你可以备份现有的配置,以备不时之需。

你可能感兴趣的