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

MySQL レプリケーションで不一致のデータベースを再同期するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-05 06:05:02399ブラウズ

How to Resync Mismatched Databases in MySQL Replication?

MySQL レプリケーションにおけるデータベースの不一致の解決

MySQL レプリケーションの領域では、マスター サーバーとスレーブ サーバー間のデータの整合性を維持することが最も重要です。ただし、ネットワークの停止などの状況により、この微妙なバランスが崩れ、データベースの不一致が生じる可能性があります。このガイドでは、マスター データベースとスレーブ データベースを最初から再同期し、シームレスなレプリケーションを再度確保するための詳細な手順を説明します。

手順:

マスター サーバー:

  • マスターステータスのリセット: RESET MASTER を使用します。マスターのレプリケーション情報をクリアします。
  • ロック読み取り操作: FLUSH TABLES WITH READ LOCK を実行します。ダンプ中のデータ変更を防ぐため。
  • マスター ステータスの表示: SHOW MASTER STATUS を実行します。

マスター ダンプを生成します:

  • mysqldump -u root -p - を使用して完全なデータベース ダンプを作成します。 -すべてのデータベース > /a/path/mysqldump.sql.
    読み取り操作のロック解除:
  • UNLOCK TABLES を実行します。

ダンプ ファイルをスレーブにコピー:

  • scp または任意の適切なファイルを使用して、ダンプされたファイルをスレーブ サーバーに転送します。転送メソッド。

スレーブ サーバーで:

  • スレーブ レプリケーションの停止: STOP SLAVE を実行します。レプリケーション プロセスを停止します。
  • マスター データのロード: mysql -uroot -p < を使用します。 mysqldump.sql を使用してスレーブにマスターのデータを設定します。
  • ログのリセットと同期:

    • RESET SLAVE を実行します。スレーブのレプリケーション設定をクリアします。
    • MASTER_LOG_FILE と MASTER_LOG_POS を、マスターの SHOW MASTER STATUS から記録した値に置き換えます。出力。 CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=98; を使用します。
  • スレーブ レプリケーションの開始: START SLAVE を実行します。マスターからのデータ フローを再開します。

検証:

  • SHOW SLAVE STATUS でレプリケーション ステータスを確認します。
  • 期待出力: Slave_IO_Running: Yes および Slave_SQL_Running: Yes は、同期が成功したことを示します。

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

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