RESET MASTER
インデックスファイルにリストされているすべてのバイナリログファイルを削除し、バイナリログインデックスファイルを空にリセットして、新しいバイナリログファイルを作成します。
MySQL 5.6.5 以降では、RESET MASTER
は gtid_purged
システム変数 (MySQL 5.6.8 以前では gtid_lost
と呼ばれます) の値や、gtid_executed
(MySQL 5.6.9 より前では gtid_done
) システム変数のグローバル値 (ただし、そのセッション値を除きます) もクリアします。つまり、このステートメントを実行すると、これらの各値が空の文字列 (''
) に設定されます。
このステートメントは、マスターがはじめて起動された場合にのみ使用されるように考慮されています。
RESET MASTER
の効果は、PURGE BINARY LOGS
の効果とは次の 2 つの重要な点で異なります。
RESET MASTER
が、インデックスファイルにリストされているすべてのバイナリログファイルを削除し、.000001
の数字のサフィクスを持つ 1 つの空のバイナリログファイルだけを残すのに対して、PURGE BINARY LOGS
では番号はリセットされません。RESET MASTER
は、いずれかのレプリケーションスレーブの実行中に使用されるようには考慮されていません。スレーブの実行中に使用された場合のRESET MASTER
の動作は不定です (そのため、サポートされていません)。これに対して、PURGE BINARY LOGS
はレプリケーションスレーブの実行中にも安全に使用できます。
セクション13.4.1.1「PURGE BINARY LOGS 構文」も参照してください。
RESET MASTER
は、最初にマスターとスレーブを設定する場合に役立つことがあります。その場合は、設定を次のように確認できます。
マスターとスレーブを起動し、レプリケーションを開始します (セクション17.1.1「レプリケーションのセットアップ方法」を参照してください)。
マスター上でいくつかのテストクエリーを実行します。
それらのクエリーがスレーブにレプリケートされたことを確認します。
レプリケーションが正しく実行されている場合は、スレーブ上で
STOP SLAVE
に続けてRESET SLAVE
を発行したあと、不要なすべてのデータがスレーブ上に存在しなくなっていることを確認します。マスター上で
RESET MASTER
を発行して、テストクエリーをクリーンアップします。
設定を確認し、テストによって生成された不要なファイルやログファイルをすべて削除したら、スレーブを起動してレプリケーションを開始できます。