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
構文」。
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.