MySQL 8.4 版本說明
在更完整的範例情境中,我們設想使用兩個複製通道來提供冗餘,從而防範單一複製通道可能發生的故障。這總共需要四個複製伺服器,來源叢集上有兩個來源伺服器,而複本叢集上有兩個複本伺服器。為了方便後續討論,我們假設已指派唯一的識別碼,如下所示:
表 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 複製實作故障轉移」中所述。同時執行多個複製通道可能會導致在複本上建立不必要的重複記錄。
如先前所述,無需在複本上啟用二進位日誌。