さらに完全な例のシナリオでは、2 つのレプリケーション チャネルを使用することで冗長性を提供することによって、1 つのレプリケーション チャネルで考えられる問題を回避できるものと考えています。これには合計 4 台のレプリケーション サーバーが必要で、2 台のマスタ サーバーをマスタ クラスタに、後の 2 台のスレーブ サーバーをスレーブ クラスタに使用します。これからの説明のために、一意の識別子を以下のように割り当てたものとします。
| サーバー ID | 説明 |
| 1 | マスタ - プライマリ レプリケーション チャネル (M) |
| 2 | マスタ - 二次レプリケーション チャネル (M') |
| 3 | スレーブ - プライマリ レプリケーション チャネル (S) |
| 4 | スレーブ - 二次レプリケーション チャネル (S') |
2 つのチャネルでの設定は 1
つのチャネルのレプリケーション
チャネルの設定とそれ程大きく異なりません。最初にプライマリと二次レプリケーション
マスタの mysqld
プロセスは、プライマリおよび二次スレーブの実行に続いて実行します。次に、各スレーブで
START SLAVE
ステートメントを発行シテレプリケーションを始めます。コマンドおよびその発行順序を以下に示します。
プライマリのレプリケーション マスタを起動します。
shellM>mysqld --ndbcluster --server-id=1 \--log-bin --binlog-format=row &
二次レプリケーション マスタを起動します。
shellM'>mysqld --ndbcluster --server-id=2 \--log-bin --binlog-format=row &
プライマリのレプリケーション スレーブ サーバーを起動します。
shellS>mysqld --ndbcluster --server-id=3 \--skip-slave-start &
二次レプリケーション スレーブを起動します。
shellS'>mysqld --ndbcluster --server-id=4 \--skip-slave-start &
最後に、以下に示すようにプライマリ
スレーブの START SLAVE
ステートメントを実行してプライマリ
チャネルでレプリケーションを開始します。
mysqlS>START SLAVE;
前述同様、バイナリのロギングをレプリケーション スレーブで有効にする必要はありません。
