MySQL 5.1 リファレンスマニュアル :: 12 SQL ステートメント構文 :: 12.5 データベース管理ステートメント :: 12.5.5 その他の管理ステートメント :: 12.5.5.2 FLUSH 構文
« 12.5.5.1 CACHE INDEX 構文

12.5.5.3 KILL 構文 »
Section Navigation      [Toggle]
  • 12.5.5 その他の管理ステートメント
  • 12.5.5.1 CACHE INDEX 構文
  • 12.5.5.2 FLUSH 構文
  • 12.5.5.3 KILL 構文
  • 12.5.5.4 LOAD INDEX INTO CACHE 構文
  • 12.5.5.5 RESET 構文

12.5.5.2. FLUSH 構文

FLUSH [LOCAL | NO_WRITE_TO_BINLOG]
    flush_option [, flush_option] ...

FLUSH ステートメントは、MySQL に利用された様々な内部キャッシュをクリア、または再ロードします。FLUSH を実行する為には、RELOAD 権限を持つ必要があります。

RESET ステートメントは FLUSH と似ています。詳しくは 項12.5.5.5. 「RESET 構文」 を参照してください。

flush_option は、次のうちのどれかになり得ます。

  • HOSTS

    ホスト キャッシュ テーブルを空にします。もし、いくつかのホストが IP 番号を変えたり、エラー メッセージ Host 'host_name' is blocked を受け取ったりしたら、ホスト テーブルをフラッシュする必要があります。MySQL サーバに接続中に、連続して max_connect_errors 以上のエラーがホストに発生すると、MySQL は何か異常があると仮定して、それ以上の接続の要求をブロックします。ホスト テーブルをフラッシュすると、ホストは再度接続を試みる事ができます。詳しくは 項B.1.2.5. 「Host 'host_name' is blocked」 を参照してください。このエラー メッセージを避ける為に、--max_connect_errors=999999999 を利用して mysqld をスタートする事ができます。

  • DES_KEY_FILE

    サーバ起動時に --des-key-file オプションを利用して指定されたファイルからの DES キーを再ロードします。

  • LOGS

    全てのログ ファイルを閉じ、再オープンします。もしバイナリ ログが有効であれば、バイナリ ログ ファイルのシーケンス番号は前のファイルと比較して1つ増加されます。これは Unix では、SIGHUP シグナルを mysqld サーバに送信する事と同じです。(mysqld が SIGHUP と SIGQUIT を無視する Mac OS X 10.3 バージョン以外)

    もしサーバが --log-error オプションでスタートされたら、それは FLUSH LOGS によって -old のサフィックスを利用して現在のエラー ログ ファイルをリネームし、新しく空のログ ファイルを作成します。もし --log-error オプションがなければリネームは行われません。

  • MASTER (DEPRECATED)全てのバイナリ ログを削除し、バイナリ ログ インデックス ファイルをリセットし、新しいバイナリ ログを作成します。FLUSH MASTER は RESET MASTER と置き換えられ廃止予定であり、現在は後方互換だけがサポートされています。詳しくは 項12.6.1.2. 「RESET MASTER 構文」 を参照してください。

  • PRIVILEGES

    mysql データベース内で供与テーブルから権限を再ロードします。

  • QUERY CACHE

    メモリ使用を向上させる為にクエリ キャッシュをデフラグします。FLUSH QUERY CACHE は RESET QUERY CACHE とは違い、キャッシュからクエリを削除しません。

  • SLAVE (DEPRECATED)リレー ログ ファイルやマスタのバイナリ ログ内の複製位置を含む、全ての複製スレーブ パラメータをリセットします。FLUSH SLAVE は RESET SLAVE と置き換えられ廃止予定であり、現在は後方互換だけがサポートされています。詳しくは 項12.6.2.5. 「RESET SLAVE 構文」 を参照してください。

  • STATUS

    このオプションは、グローバル値に現在のスレッドのセッション ステータス変数値を追加し、セッション値をゼロにリセットします。それはキー キャッシュ(デフォルトと名づけられた物)のカウンタをゼロにリセットし、現在オープンしている接続の数に Max_used_conections を設定します。これは、クエリをデバグしている時のみ利用するべき物です。詳しくは 項1.7. 「質問またはバグの報告」 を参照してください。

  • {TABLE | TABLES} [tbl_name [, tbl_name] ...]

    どのテーブル名づけられていない時に、全てのオープンなテーブルを閉じ、利用中の全てのテーブルを強制的に閉じます。これはクエリ キャッシュもフラッシュします。複数のテーブル名があると、与えられたテーブルだけをフラッシュします。FLUSH TABLES は RESET QUERY CACHE のように、クエリ キャッシュから全てのクエリ結果の削除もします。

  • TABLES WITH READ LOCK

    UNLOCK TABLES を実行して明示的にロックを解除するまで、リード ロックを利用して全てのデータベースの全てのオープン テーブルを閉じ、全てのテーブルをロックします。これは、もし Veritas のような、時間内にスナップショットを撮る事ができるファイル システムを持っているなら、バックアップを取るのに大変便利な方法になります。

    FLUSH TABLES WITH READ LOCK は、グローバル リード ロックは取得しますがテーブル ロックはしないので、テーブル ロックと暗黙的なコミットに関しては LOCK TABLES と UNLOCK TABLES と同じような動作の制約は受けません。

    • UNLOCK TABLES は、もしテーブルが現在 LOCK TABLES でロックされていたらトランザクションを行います。これは、FLUSH TABLES WITH READ LOCK ステートメントがテーブル レベル ロックを取得しない為、これに続く UNLOCK TABLES に対しては行われません。

    • トランザクションを開始すると、LOCK TABLES を利用して行ったテーブル ロックを、まるで UNLOCK TABLES を実行したかのように解除してしまいます。トランザクションを開始しても、FLUSH TABLES WITH READ LOCK を利用して行われたグローバル リード ロックの解除はしません。

  • USER_RESOURCES

    全ての時間あたりのユーザ リソースをゼロにリセットします。これは、時間ごとの接続、クエリ、更新リミットに達したクライアントがすぐに活動を再開できるようにします。FLUSH USER_RESOURCES は最大同時接続のリミットに適応しません。詳しくは 項12.5.1.3. 「GRANT 構文」 を参照してください。

FLUSH ステートメントは、任意の NO_WRITE_TO_BINLOG キーワード(またはそのエイリアス LOCAL) が利用されない限り、バイナリ ログに書きこまれます。これは、複製マスタとして機能している MySQL サーバ上で利用される FLUSH ステートメントが、複製スレーブにデフォルトで複製される為に行われます。

注意:FLUSH LOGS、FLUSH MASTER、FLUSH SLAVE、そして FLUSH TABLES WITH READ LOCK は、スレーブに複製されると問題を引き起こす為、ログインされません。

flush-hosts、flush-logs、flush-privileges、flush-status、または flush-tables コマンドを利用する mysqladmin ユーティリティで、いくつかのステートメントにアクセスする事ができます。

注意:MySQL 5.1 内では、ストアド ファンクションやトリガ内で FLUSH ステートメントを発行する事は不可能です。しかし、ストアド プロシージャ内の FLUSH がストアド ファンクションやトリガにコールされない限り、それらを利用してもよいでしょう。詳しくは 項D.1. 「ストアド ルーチンとトリガの規制」 を参照してください。

RESET ステートメントが複製の中でどのように利用されるかという情報については 項12.5.5.5. 「RESET 構文」 も参照してください。

Copyright © 1997, 2010, Oracle and/or its affiliates. All rights reserved. Legal Notices
Top / Previous / Next / Up / Table of Contents
© 2010, Oracle Corporation and/or its affiliates