MySQL Error number: MY-010574; Symbol: ER_RPL_MTS_GROUP_RECOVERY_RELAY_LOG_INFO; SQLSTATE: HY000

文档解释

Error number: MY-010574; Symbol: ER_RPL_MTS_GROUP_RECOVERY_RELAY_LOG_INFO; SQLSTATE: HY000

Message: Slave: MTS group recovery relay log info group_master_log_name %s, event_master_log_pos %llu.

MY-010574; ER_RPL_MTA_GROUP_RECOVERY_APPLIER_METADATA; HY000 错误是MySQL复制群中出现的,因为在Group Recovery的时候,Applier的metadata未在其他Group Replication来源端检测到。

常见案例

在MySQL群复制中,当Group Replication尝试执行Group Recovery时,可能会出现这个错误,原因是Group Replication未能在其他Group Replication来源端找到Applier的metadata。这通常发生在某个Group Replication实例与群组崩溃或断裂期间,造成一些节点无法获得Applier元数据信息。

解决方法

原因是,Group Replication无法从配置的群组成员处检索Applier的元数据信息。确保以下步骤以及所有Group Replication成员定期在同一条线上运行:

1. 检查Group Replication成员的状态:SELECT * FROM performance_schema.replication_group_member_stats;

2. 检查最新复制事件的状态:SELECT * FROM performance_schema.replication_applier_status_by_worker;

3. 检查服务器的地址表达式是否正确(以确保所有的Group Replication成员都使用正确的地址):SELECT @@group_replication_group_seeds;

4. 停止实例,重置Group Replication状态,然后重新启动Group Replication

如果这些步骤都没有帮到忙,可以重新部署整个Group Replication群组,使用下面的步骤,对所有Group Replication成员重新进行安装:

1. 关闭所有Group Replication成员:

SHUTDOWN ;

2. 清理所有Group Replication成员:

RESET MASTER;

3. 在所有Group Replication成员上,重新安装Group Replication:

SET GLOBAL group_replication_bootstrap_group = ON;

SET GLOBAL group_replication_start_on_boot = ON;

START GROUP_REPLICATION;

4. 将Group Replication配置信息(例如配置地址表达式)应用于所有Group Replication成员

最后,检查Group Replication是否设置正确,以及所有成员是否加入群组:

SELECT * FROM performance_schema.replication_group_members;

你可能感兴趣的