MySQL 9.0 版本說明
在一個更完整的範例情境中,我們設想使用兩個複製通道來提供冗餘,從而防止單一複製通道可能發生的故障。這需要總共四個複製伺服器,源叢集上的兩個源伺服器和複製叢集上的兩個副本伺服器。為了以下討論的目的,我們假設已如這裡所示分配唯一的識別碼
表 25.45 文中描述的 NDB Cluster 複製伺服器
伺服器 ID | 描述 |
---|---|
1 | 來源 - 主要複製通道 (S) |
2 | 來源 - 次要複製通道 (S') |
3 | 副本 - 主要複製通道 (R) |
4 | 副本 - 次要複製通道 (R') |
使用兩個通道設定複製與設定單一複製通道沒有根本上的不同。首先,必須啟動主要和次要複製來源伺服器的 mysqld 程序,然後啟動主要和次要副本的程序。複製程序可以透過在每個副本上發出 START REPLICA
陳述式來啟動。這裡顯示了需要發出的命令和順序
啟動主要複製來源
shellS> mysqld --ndbcluster --server-id=1 \ --log-bin &
啟動次要複製來源
shellS'> mysqld --ndbcluster --server-id=2 \ --log-bin &
啟動主要副本伺服器
shellR> mysqld --ndbcluster --server-id=3 \ --skip-replica-start &
啟動次要副本伺服器
shellR'> mysqld --ndbcluster --server-id=4 \ --skip-replica-start &
最後,透過在主要副本上執行
START REPLICA
陳述式來啟動主要通道上的複製,如下所示mysqlR> START REPLICA;
警告此時只能啟動主要通道。次要複製通道只需要在主要複製通道發生故障時啟動,如 第 25.7.8 節「使用 NDB Cluster 複製實作容錯移轉」中所述。同時執行多個複製通道可能會導致在副本上建立不需要的重複記錄。
如先前所述,不必在副本上啟用二進位記錄。