FLUSH [LOCAL | NO_WRITE_TO_BINLOG] flush_option [,flush_option] ...
MySQL が使用している内部キャッシュを消去するには、FLUSH コマンドを使用します。FLUSH を実行するには、RELOAD 権限が必要です。
flush_option には、以下のいずれかを指定できます。
| オプション | 説明 |
HOSTS | ホストキャッシュテーブルを空にする。ホストが IP アドレスを変更した場合や、エラーメッセージ Host ... is blocked が表示される場合には、ホストテーブルをフラッシュすることが必要である。MySQL サーバとの接続中に、特定のホストの 1 つのレコードで max_connect_errors を超えるエラーが発生した場合、MySQL は問題があると判断し、以後、ホストからの接続要求をブロックする。
ホストテーブルをフラッシュすると、ホストが再び接続可能になる。See 項A.2.5. 「Host '...' is blocked エラー」。 mysqld を -O max_connect_errors=999999999 で起動すると、このエラーを回避できる。
|
DES_KEY_FILE | サーバ起動時に --des-key-file オプションで指定されたファイルから、DES キーを再度読み込む。
|
LOGS | すべてのログファイルを閉じて、再び開く。
更新ログファイルまたはバイナリログファイルを拡張子なしで指定している場合、ログファイルの拡張子番号は前のファイルに 1 を加算した数になる。ファイル名に拡張子を使用している場合、MySQL は更新ログファイルを閉じて、再び開く。
See 項4.10.3. 「更新ログ」。 これは、SIGHUP シグナルを mysqld サーバに送信するのと同じである。
|
PRIVILEGES | mysql データベースの権限テーブルから権限を再読み込みする。
|
QUERY CACHE | クエリキャッシュを最適化し、メモリの使用効率を高める。このコマンドは RESET QUERY CACHE とは異なり、キャッシュからクエリを削除しない。
|
TABLES | 開いているテーブルをすべて閉じる。使用中のテーブルも強制的に閉じる。これにより、クエリキャッシュもフラッシュされる。 |
[TABLE | TABLES] tbl_name [,tbl_name...] | 指定したテーブルだけをフラッシュする。 |
TABLES WITH READ LOCK | 開いているテーブルをすべて閉じ、すべてのデータベースの全テーブルを読み取りロックする。このロックは UNLOCK TABLES を実行するまで解除されない。適宜スナップショットを取ることができる Veritas などのファイルシステムを使用している場合には、このコマンドがバックアップの作成に非常に便利である。
|
STATUS | ほとんどのステータス変数を 0 にリセットする。これは、クエリをデバッグするときにのみ使用する。 |
USER_RESOURCES | すべてのユーザリソースを 0 にリセットする。これにより、ブロックされていたユーザも再度ログイン可能になる。 See 項4.4.7. 「ユーザリソースの制限」。 |
MySQL 4.1.1 より前のバージョンを使用している場合、FLUSH コマンドはバイナリログに記録されません。MySQL 4.1.1 以降のバージョンを使用している場合には、オプションの NO_WRITE_TO_BINLOG キーワード(またはそのエイリアスの LOCAL)を使用していない限り、バイナリログに記録されます。また、このコマンドに LOGS、MASTER、SLAVE、TABLES WITH READ LOCK のいずれかの引数が含まれる場合も、バイナリログに記録されません。これらの引数はスレーブにレプリケートされると問題が発生する可能性があります。
上記コマンドのうちのいくつかには、mysqladmin ユーティリティで flush-hosts、flush-logs、flush-privileges、 flush-status、flush-tables の各コマンドを使用してアクセスすることもできます。
レプリケーションで使用する RESET コマンドも参照してください。
See 項4.6.5. 「RESET 構文」。