MySQL Error number: MY-011638; Symbol: ER_GRP_RPL_FAILED_TO_START_ON_SECONDARY_WITH_ASYNC_CHANNELS;
文档解释
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回复模式的效率和安全性。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341