レプリケーションマスターでは、バイナリロギングを有効にして、一意サーバー ID を作成する必要があります。これがまだ行われていなかった場合、サーバーの再起動が必要です。
バイナリログがマスターからスレーブへ変更を複製するための基盤であるため、バイナリロギングがマスターで有効である必要があります。バイナリロギングが log-bin
オプションを使用して有効化されていないと、レプリケーションはできません。
レプリケーショングループ内の各サーバーは、一意サーバー ID を使用して構成する必要があります。この ID はグループ内の個々のサーバーを特定するために使用され、1 から (232) - 1 の間の正の整数でなければいけません。番号をどのように編成および選択するかは任意です。
バイナリログとサーバー ID のオプションを構成するには、MySQL サーバーをシャットダウンして、my.cnf
または my.ini
ファイルを編集します。構成ファイルの [mysqld]
セクションに、log-bin
および server-id
オプションを追加します。これらのオプションはすでに存在しているが、コメントアウトされている場合、そのオプションのコメントを解除して必要に応じて変更します。たとえば、mysql-bin
のログファイル名プリフィクスを使用してバイナリロギングを有効にし、ID が 1 のサーバーを構成するには、次の行を使用します。
[mysqld]
log-bin=mysql-bin
server-id=1
変更したあとに、サーバーを再起動します。
server-id
を省略すると (または明示的にデフォルト値の 0 に設定すると)、マスターはスレーブからのどのような接続も拒否します。
トランザクション対応 InnoDB
を使用するレプリケーションセットアップで持続性と一貫性をできるだけ高くするため、my.cnf
ファイルで innodb_flush_log_at_trx_commit=1
および sync_binlog=1
を使用してください。
skip-networking
オプションがレプリケーションマスターで有効になっていないことを確認します。ネットワーキングが無効化されていると、スレーブはマスターと通信できず、レプリケーションは失敗します。