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 サイトの他の関連記事を参照してください。