この項ではシングルのレプリケーション チャネルを使用した MySQL CLuster のレプリケーションに手順に付いて説明します。
このコマンドを発行して MySQL レプリケーション マスタ サーバーを起動します。
shellM
>mysqld --nbdcluster --server-id=
id
\--log-bin --binlog-format=row &
ここでは id
はこのサーバーの一意の ID です
(項14.10.2. 「仮定条件と一般要件」
参照)。これによりサーバーの
mysqld
プロセスが適切なロギング
フォーマットを使用してバイナリのロギングを有効にして実行されます。
以下の示すように MySQL レプリケーション スレーブ サーバーを起動します。
shellS
>mysqld --ndbcluster --server-id=
id
&
そこでは id
はスレーブ
サーバーの一意の ID
です。レプリケーション
スレーブでロギングを有効にする必要はありません。
このコマンドで
--skip-slave-start
オプションを使用するか、あるいはレプリケーションを直ぐ始めることを望まないかぎりskip-slave-start
をサーバーの my.cnf
ファイルに入れる必要があります。このオプションを使用すると、レプリケーションの開始が以下のステップ
4 で説明したように適切な START
SLAVE
ステートメントが発行されるまで遅延します。
スベーブ サーバーをマスタ サーバーのレプリケーション binlog に同期する必要があります。バイナリのロギングがマスタで事前に実行kされない場合、以下のステートメントをスレーブで実行します。
mysqlS
>CHANGE MASTER TO
->MASTER_LOG_FILE='',
->MASTER_LOG_POS=4;
これによりスレーブがマスタのバイナリ
ログをログ
開始ポイントから読み込みを開始します。さもなければ
—
つまり、バックアップを使用してマスタからデータをローディングするには
—
そのような場合のMASTER_LOG_FILE
およびMASTER_LOG_POS
に使用する正しい値の取得に関する情報は項14.10.8. 「MySQL Cluster にフェールオーバーを導入する」
を参照してください。
最後に、レプリケーション スレーブの mysql クライアントからコマンドを発行してレプリケーションを適用するようにスレーブに指示する必要があります。
mysqlS
>START SLAVE;
これによってレプリケーションのデータのスレーブへの転送を始めます。
また次項で説明するような手順で 2 つのレプリケーション チャネルを使用することもできます。これとシングルのレプリケーション チャネルを使用する場合の違いは 項14.10.7. 「2 つのレプリケーション チャネルを使用する」 で説明しています。