ホームページ >データベース >mysql チュートリアル >スレーブの切断後に MySQL レプリケーションを再同期するにはどうすればよいですか?

スレーブの切断後に MySQL レプリケーションを再同期するにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-04 21:39:01341ブラウズ

How to Resynchronize MySQL Replication After a Slave Disconnection?

MySQL レプリケーションでのデータベースの不一致の解決

MySQL レプリケーション設定では、マスター サーバーとスレーブ サーバーのデータベース コンテンツの間で不一致が発生する可能性があります。スレーブが長期間切断され、その後再接続された場合。このような状況でデータベースを再同期するには、次の手順を実行できます。

マスター サーバーで:

  1. RESET MASTER を実行してマスターをリセットします。 ;.
  2. FLUSH TABLES WITH READ LOCK を使用して読み取り操作のテーブルをロックします。
  3. SHOW MASTER STATUS; を使用してマスターの現在のレプリケーション ステータスを取得します。 Master_Log_File と Master_Log_Pos に返された値をコピーします。
  4. mysqldump -u root -p --all-databases > を使用して、データベース全体をマスターからダンプ ファイルにエクスポートします。 /path/mysqldump.sql.

スレーブ サーバーで:

  1. STOP SLAVE; を使用してスレーブのレプリケーション プロセスを停止します。
  2. mysql -uroot -p < を使用して、マスターのデータベース ダンプをスレーブにインポートします。 mysqldump.sql.
  3. RESET SLAVE を実行してスレーブのレプリケーション構成をリセットします。
  4. CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001 を使用して、マスターの現在位置と一致するようにスレーブのレプリケーション構成を更新します。 '、MASTER_LOG_POS=98;。 「mysql-bin.000001」と「98」を、マスター サーバーで実行された SHOW MASTER STATUS コマンドから取得した値に置き換えます。
  5. START SLAVE; を使用して、スレーブのレプリケーション プロセスを再度開始します。

検証:

同期が成功したことを確認するには、SHOW SLAVE STATUS を実行します。スレーブサーバー上で。出力には、Slave_IO_Running と Slave_SQL_Running の両方が Yes と表示されるはずです。

以上がスレーブの切断後に MySQL レプリケーションを再同期するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。