MySQL Error number: MY-011638; Symbol: ER_GRP_RPL_FAILED_TO_START_ON_SECONDARY_WITH_ASYNC_CHANNELS; SQLSTATE: HY000 报错 故障修复 远程处理

文档解释

Error number: MY-011638; Symbol: ER_GRP_RPL_FAILED_TO_START_ON_SECONDARY_WITH_ASYNC_CHANNELS; SQLSTATE: HY000

Message: Can’t start group replication on secondary member with single-primary mode while asynchronous replication channels are running.

错误说明

MY-011638(ER_GRP_RPL_FAILED_TO_START_ON_SECONDARY_WITH_ASYNC_CHANNELS) 错误是MySQL Group维护模式中的一种报错,由于在Group维护中,MySQL被外部节点要求替换一个表的对应部分,但是外部节点发出的async_replication_channel并没有启动,从而导致无法更新部分表,进而导致该错误。

常见案例

这种报错是在Group replication回复模式中特有的,这种回复模式是MySQL实现主从架构时要使用的,通过MySQL 5.7.7及以后的版本才支持。在Group replication模式中,会有有多个MySQL服务器而且组内的这些MySQL服务器之间的数据是保持一致的。因此,在将一张表的对应部分替换后,如果async_replication_channel没有启动,那么表的更新就无法实施,就会出现该错误。

解决方法

一旦出现了这种错误,你需要做的就是检查MySQL实例上async_replication_channel的状态。如果之前没有被正常启动,你需要启动它,从而继续表的更新或者减缓主从之间同步延迟带来的影响。

另外,应该重新评估主从之间的连接,并尽可能弥补任何问题,以便能够根据MySQL Group replication规则将表部分正确完整地同步到每个节点。

同时,你需要考虑是否存在某个服务器太过负荷的状态而导致表的更新受到影响而失败。你应该对你的MySQL集群运用性能监测和分析,以此避免压力暴增、节点性能低并导致数据库报错。

最后,你还可以调整MySQL Group Replication的配置,例如改变数据同步频率(够可设置async_replication_delay参数),减少数据报告延迟(可以设置userSleepDelay参数),以此提高Group replication回复模式的效率和安全性。


数据运维技术 » MySQL Error number: MY-011638; Symbol: ER_GRP_RPL_FAILED_TO_START_ON_SECONDARY_WITH_ASYNC_CHANNELS; SQLSTATE: HY000 报错 故障修复 远程处理