docker-compose部署的MySQL副本是否已配置group-replication?
问题结论
该配置不会自动在两个MySQL实例之间搭建Group Replication集群。
核心原因
- Docker Swarm的
deploy.replicas配置仅负责启动指定数量、配置完全相同的独立容器,没有内置任何MySQL集群的自动配置逻辑,两个启动后的MySQL实例是完全独立、互不感知的节点。 - MySQL Group Replication的启用有大量必须的前置配置,当前配置完全没有覆盖这些要求,必要配置项至少包括:
- 每个节点配置唯一不重复的
server_id - 开启GTID相关参数:
gtid_mode=ON、enforce_gtid_consistency=ON - 加载Group Replication插件:
plugin_load_add='group_replication.so' - 配置集群通信地址、集群名称、节点白名单等集群专属参数
- 集群初始化、节点加入阶段还需要手动执行对应的SQL操作
- 每个节点配置唯一不重复的
- 额外问题:当前配置中两个副本没有配置独立的持久化存储,即使不搭建集群,启动后也会出现数据不一致、实例运行异常的问题。
内容的提问来源于stack exchange,提问作者HumayunM
相关产品推荐
相关产品推荐

