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;