Linux下搭建MySQL集群主要有以下几种方法:
-
主从复制集群
- 一主一从/多从:主库开启二进制日志,从库通过
CHANGE MASTER TO配置同步主库数据,适用于读写分离场景。
- 双主双从:两台主库相互同步,两台从库分别从主库复制数据,提升可用性和负载能力。
- 基于GTID:通过全局事务标识符(GTID)简化主从切换和故障恢复,支持自动定位复制位置。
-
多主集群(Galera Cluster)
- 基于同步复制,支持多节点同时读写,数据强一致性,适合高可用场景。
- 需安装Galera插件,配置
wsrep_cluster_address指定集群节点,通过mysqld --wsrep-new-cluster启动集群。
-
分片集群(Sharding)
- 将数据按分片键(如用户ID、范围)拆分到多个数据库实例,实现水平扩展。
- 需搭配分片中间件(如MySQL Router、ProxySQL)实现路由和负载均衡。
-
容器化部署(Docker)
- 使用Docker Compose快速搭建主从集群,通过配置文件定义主从节点关系,适合开发测试环境。
注意事项:
- 主从复制需确保主库
server-id唯一,从库配置relay_log和read_only。
- Galera集群需所有节点配置相同的
wsrep_cluster_name和同步方法(如rsync)。
- 生产环境建议结合监控工具(如Prometheus、Zabbix)实时监控集群状态。