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)實時監控集群狀態。