MySQL 集群復制實現兩個復制通道在一些復雜的場景中,我們實現兩個復制通道和保證冗余和高可用性。這樣的話就需要四台replication server,兩台master 和兩台slave.為了方便演示,我們規定server id 和相應的shell提示符如下:
Server ID Description 1 Master - primary replication channel (M)
2 Master - secondary replication channel (M') 3 Slave - primary replication channel (S) 4 Slave - secondary replication channel (S') 設置雙復制通道和單復制通道,並不是完全的不同。首先primary 和secondary master必須先啟動,然後是兩台slave,並在上邊運行start slave命令(我認為是分別執行,不然可能導致意想不到的重復數據)。下邊是具體的步驟: 1:啟動primary replication master
shellM> MySQLd --ndbcluster --server-id=1 \
--log-bin --binlog-format=row &
2:啟動 secondary replication master:
shellM'> MySQLd --ndbcluster --server-id=2 \
--log-bin --binlog-format=row &
3:啟動primary replication slave server:
shellS> MySQLd --ndbcluster --server-id=3 \
--skip-slave-start &
4:啟動secondary replication slave:
shellS'> MySQLd --ndbcluster --server-id=4 \
--skip-slave-start &
5:最後一步:
在primary slave上執行start slave命令.警告:最後一步只在primary slave上執行。secondary replication slave 會在primary slave 失敗的時候執行。
.同時運行多台slave會產生重復的數據。因此一定要避免。