MySQL 5.6.5 以降では、RESET MASTERgtid_purged システム変数 (MySQL 5.6.8 以前では gtid_lost と呼ばれます) の値や、gtid_executed (MySQL 5.6.9 より前では gtid_done) システム変数のグローバル値 (ただし、そのセッション値を除きます) もクリアします。つまり、このステートメントを実行すると、これらの各値が空の文字列 ('') に設定されます。



RESET MASTER の効果は、PURGE BINARY LOGS の効果とは次の 2 つの重要な点で異なります。

  1. RESET MASTER が、インデックスファイルにリストされているすべてのバイナリログファイルを削除し、.000001 の数字のサフィクスを持つ 1 つの空のバイナリログファイルだけを残すのに対して、PURGE BINARY LOGS では番号はリセットされません。

  2. RESET MASTER は、いずれかのレプリケーションスレーブの実行中に使用されるようには考慮されていません。スレーブの実行中に使用された場合の RESET MASTER の動作は不定です (そのため、サポートされていません)。これに対して、PURGE BINARY LOGS はレプリケーションスレーブの実行中にも安全に使用できます。

セクション13.4.1.1「PURGE BINARY LOGS 構文」も参照してください。

RESET MASTER は、最初にマスターとスレーブを設定する場合に役立つことがあります。その場合は、設定を次のように確認できます。

  1. マスターとスレーブを起動し、レプリケーションを開始します (セクション17.1.1「レプリケーションのセットアップ方法」を参照してください)。

  2. マスター上でいくつかのテストクエリーを実行します。

  3. それらのクエリーがスレーブにレプリケートされたことを確認します。

  4. レプリケーションが正しく実行されている場合は、スレーブ上で STOP SLAVE に続けて RESET SLAVE を発行したあと、不要なすべてのデータがスレーブ上に存在しなくなっていることを確認します。

  5. マスター上で RESET MASTER を発行して、テストクエリーをクリーンアップします。


Download this Manual
EPUB - 7.5Mb
HTML Download (TGZ) - 7.1Mb
HTML Download (Zip) - 7.2Mb
User Comments
  Posted by Paul Caskey on February 15, 2012
NOTE: This command LOCKS EVERYTHING and prohibits connections to the database engine while RESET MASTER is doing its thing! This can be many minutes if you have a lot of big masterXX.bin files to delete. Ctrl-C is trapped (does not work) from your mysql> prompt while this is underway. So once it starts, you are committed to wait, and who knows what harm might come from trying harder to abort it. Use PURGE on small bites at a time if you want to avoid this locking problem.
Sign Up Login You must be logged in to post a comment.