MySQL レプリケーションにより、スレーブ システムがマスター システムと正しく同期できなくなることがあります。これには多くの理由が考えられます。しかし、私たちが考慮する必要があるのは、それをどのように修正するかということです。この記事では、MySQL レプリケーションをリセットする方法を紹介します。
注: この記事の方法を使用すると、すべての bin ログ ファイルが削除されるため、必要に応じて、最初に bin ログ ファイルをバックアップしてから、その後、指示に従ってください。
(関連する推奨事項: MySQL チュートリアル )
スレーブ サーバー上:
まず、スレーブを停止する必要があります。サーバ。 mysqlサーバーにログインし、以下のコマンドを実行します。
mysql> STOP SLAVE;
マスター サーバー上:
スレーブ サーバーを停止した後、マスター サーバーに移動し、次のコマンドを使用してマスター サーバーのステータスをリセットします。
mysql> RESET MASTER; mysql> FLUSH TABLES WITH READ LOCK;
次のコマンドを使用して、データベース ダンプをコピーします。
# mysqldump -u root -p mydb > mydb-dump.sql
バックアップ後にマスターサーバー上のテーブルのロックを解除します。
mysql> UNLOCK TABLES;
スレーブ サーバー上:
次のコマンドを使用して、スレーブ サーバーにデータベースのバックアップを復元します。
# mysql -u root -p mydb < mydb-dump.sql
mysql にログインし、次のコマンドを実行してスレーブ サーバーのステータスをリセットします。
mysql> RESET SLAVE; mysql> CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=1;
スレーブをリセットした後、スレーブ レプリケーションを開始します。
mysql> START SLAVE;
レプリケーションが新しい構成で再同期されました。これは、次のコマンドを使用して確認できます。
rree以上がMySQL マスター/スレーブ レプリケーションをリセット (再同期) する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。