CentOS Stream 9 部署 MySQL 8.0 MGR 一主两高集群方案
前言
在生产环境中,数据库服务的稳定性至关重要。一旦核心数据库宕机,业务将面临中断风险。因此,构建高可用(High Availability, HA)架构是运维和开发中的必修课。
MySQL 生态中提供了多种高可用方案,各有优劣。本文将梳理主流方案的特点,并重点介绍基于 MySQL Group Replication (MGR) 的集群部署思路。
1. MySQL 8.0 常见高可用方案对比
1.1 主从复制 (Master-Slave)
这是最经典的基础架构。一个主库负责写入,多个从库负责读取,通过二进制日志 (binlog) 进行异步同步。
- 优点:架构简单,易于上手;读写分离效果明显。
- 缺点:缺乏自动故障转移能力,主库挂掉需人工介入;存在主从延迟问题。
- 适用场景:读多写少的中小型系统、对数据实时性要求不高的测试环境。
1.2 MySQL InnoDB Cluster (基于 MGR)
这是 MySQL 8.0 官方推荐的高可用方案,底层依赖 Group Replication 插件。节点间通过 Paxos 协议保持数据强一致性。
- 优点:官方原生支持;支持单主模式下的自动故障转移;保证数据强一致性。
- 缺点:写入冲突处理复杂(多主模式下);对网络延迟敏感;配置相对复杂。
- 适用场景:银行、支付等对数据一致性要求极高的核心系统;需要自动切换且无法容忍数据丢失的场景。
1.3 MHA (MySQL High Availability)
由 Perl 脚本组成的管理工具,用于监控主库状态并自动提升从库为新主。
- 优点:成熟稳定,社区广泛使用;可实现自动主从切换。
- 缺点:依赖外部监控节点;仍基于主从架构,存在延迟风险;项目更新频率较低。
- 适用场景:传统企业系统;已有主从架构希望补充自动故障转移能力的场景。
1.4 Galera Cluster
一种多主同步复制架构,所有节点均可读写,数据写入需经多数节点确认。
- 优点:真正的多主架构;同步复制,强一致性。
- 缺点:对网络延迟极其敏感;大规模写入时性能下降明显。
- 适用场景:跨地域写入需求;高并发小事务业务(如即时通信、IoT 数据采集)。
1.5 ProxySQL + MGR/主从
通过中间层代理实现流量控制、读写分离及故障转移。
- 优点:灵活控制流量;支持连接池和 SQL 规则分发。
- 缺点:引入额外组件,增加维护复杂度。
- 适用场景:需要精细控制数据库访问策略的复杂架构。
2. 方案选型建议
不同的业务场景决定了技术选型的方向。以下是针对上述方案的适用性总结:
- 主从复制:适合内容管理系统、博客、论坛等读多写少、允许短暂延迟的业务。
- MGR:适合电商、金融等核心系统,要求强一致性和自动故障恢复。
- MHA:适合传统企业系统,尤其是已在使用主从架构并希望低成本升级高可用的场景。
- Galera Cluster:适合跨地域协作或高并发小事务场景,但需严格控制网络质量。
- ProxySQL 组合:适合对流量调度有高度定制化需求的复杂生产环境。


