MySQL Cluster 採用共享無架構,NDB 儲存引擎將資料分片分散於多個資料節點,透過管理節點協調,SQL 節點提供 MySQL 介面存取。
| 節點類型 | 進程名 | 核心職責 | 啟動指令 |
|---|---|---|---|
| 管理節點 (MGM) | ndb_mgmd | 叢集配置分發、節點啟停、備份協調、日誌收集 | ndb_mgmd -f config.ini |
| 資料節點 | ndbd / ndbmtd | 儲存資料分片、處理交易、同步複寫、檢查點 | ndbd -c mgm_host:1186 |
| SQL 節點 | mysqld | 解析 SQL、路由至資料節點、回傳結果、支援標準 MySQL 協定 | mysqld --ndbcluster |
[ndbd default]
NoOfReplicas=2
DataMemory=2G
IndexMemory=512M
MaxNoOfConcurrentOperations=100000
[ndb_mgmd]
HostName=10.0.0.1
DataDir=/var/lib/mysql-cluster
[ndbd]
HostName=10.0.0.2
DataDir=/var/lib/mysql-cluster
[ndbd]
HostName=10.0.0.3
DataDir=/var/lib/mysql-cluster
[mysqld]
HostName=10.0.0.2
[mysqld]
HostName=10.0.0.3
ndb_mgmd -f /etc/my.cnf --initial (首次加 --initial)ndbd -c 10.0.0.1 --initial (首次加 --initial)systemctl start mysqldndb_mgm -e "SHOW" # 叢集狀態
ndb_mgm -e "ALL START" # 啟動所有節點
ndb_mgm -e "NODE_ID START" # 啟動特定節點
ndb_mgm -e "BACKUP" # 線上備份
ndb_mgm -e "DUMP 1000" # 觸發記憶體報告
DataMemoryUsage / IndexMemoryUsage < 80%Ndb_api_wait_meta_request_count 等待計數HeartbeatIntervalDbDb (預設 1500ms)MySQL Cluster 提供高可用、自動分片、線性擴展的記憶體內交易能力。部署核心在於配置檔集中管理、嚴格啟動順序、記憶體容量規劃。現代替代方案:TiDB、Vitess、PolarDB-X 提供兼容 MySQL 協定的分散式方案,選型時綜合評估運維成本與生態相容性。