Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 27.1Mb
PDF (A4) - 27.2Mb
HTML Download (TGZ) - 7.2Mb
HTML Download (Zip) - 7.2Mb


MySQL 5.6 リファレンスマニュアル  /  ...  /  監査ログプラグインのオプションおよびシステム変数

6.3.12.6 監査ログプラグインのオプションおよびシステム変数

このセクションでは、監査ログプラグインの操作を制御するコマンドオプションおよびシステム変数について説明します。起動時に指定された値が正しくない場合は、プラグインが正常に初期化できない可能性があり、サーバーでロードされません。この場合、サーバーでその他の監査ログ設定が認識されないため、それに関するエラーメッセージが生成される可能性もあります。

audit_log プラグインのアクティブ化を制御するには、次のオプションを使用します。

  • --audit-log[=value]

    導入 5.6.10
    コマンド行形式 --audit-log[=value]
    許可されている値 列挙
    デフォルト ON
    有効な値 ON
    OFF
    FORCE
    FORCE_PLUS_PERMANENT

    このオプションは、サーバーの起動時に audit_log プラグインをロードする方法を制御します。これは、監査ログプラグインが事前に INSTALL PLUGIN に登録されている場合や、--plugin-load を使用してロードされている場合にのみ指定可能です。セクション6.3.12.1「監査ログプラグインのインストール」を参照してください。

    セクション5.1.8.1「プラグインのインストールおよびアンインストール」で説明したように、オプションの値は、プラグインのロードオプションに指定可能な値のいずれかである必要があります。たとえば、--audit-log=FORCE_PLUS_PERMANENT は、プラグインをロードし、それがサーバーの実行時に削除されることを回避するようにサーバーに指示します。

    このオプションは MySQL 5.6.10 で追加されました。

audit_log プラグインがインストールされている場合は、ロギングに対する制御を許可する複数のシステム変数が表示されます。これらの変数は、audit_log プラグインが有効になっている場合にのみ指定可能です。

mysql> SHOW VARIABLES LIKE 'audit_log%';
+-----------------------------+--------------+
| Variable_name               | Value        |
+-----------------------------+--------------+
| audit_log_buffer_size       | 1048576      |
| audit_log_connection_policy | ALL          |
| audit_log_current_session   | ON           |
| audit_log_exclude_accounts  |              |
| audit_log_file              | audit.log    |
| audit_log_flush             | OFF          |
| audit_log_format            | OLD          |
| audit_log_include_accounts  |              |
| audit_log_policy            | ALL          |
| audit_log_rotate_on_size    | 0            |
| audit_log_statement_policy  | ALL          |
| audit_log_strategy          | ASYNCHRONOUS |
+-----------------------------+--------------+

これらの変数のいずれも、サーバーの起動時 (一部は実行時) に設定できます。

  • audit_log_buffer_size

    導入 5.6.10
    コマンド行形式 --audit-log-buffer-size=value
    システム変数 名前 audit_log_buffer_size
    スコープ グローバル
    動的 いいえ
    許可されている値 (32 ビットプラットフォーム) 数値
    デフォルト 1048576
    最小値 4096
    最大値 4294967295
    許可されている値 (64 ビットプラットフォーム) 数値
    デフォルト 1048576
    最小値 4096
    最大値 18446744073709547520

    監査ログプラグインが非同期的にイベントをログに書き込むと、イベントの内容を書き込む前に、バッファーを使用してそれらを格納します。この変数は、そのバッファーのサイズ (バイト単位) を制御します。サーバーは、この値を 4096 の倍数に調整します。このプラグインでは、初期化時に割り当てられ、終了時に削除される単一のバッファーが使用されます。このプラグインは、ロギングが非同期の場合にのみ、このバッファーを割り当てます。

    この変数は MySQL 5.6.10 で追加されました。

  • audit_log_connection_policy

    導入 5.6.20
    コマンド行形式 --audit-log-connection-policy=value
    システム変数 名前 audit_log_connection_policy
    スコープ グローバル
    動的 はい
    許可されている値 列挙
    デフォルト ALL
    有効な値 ALL
    ERRORS
    NONE

    監査ログプラグインが接続イベントをそのログファイルに書き込む方法を制御するポリシーです。次の表は、許可される値を示しています。

    説明
    ALL 接続イベントのログをすべて記録します
    ERRORS 失敗した接続イベントのログのみを記録します
    NONE 接続イベントのログを記録しません
    注記

    セクション6.3.12.4「監査ログプラグインのロギング制御」で説明したように、audit_log_policy も指定されている場合は、サーバーの起動時に、audit_log_connection_policy に明示的に指定された値がオーバーライドされる可能性があります。

    この変数は、MySQL 5.6.20 で追加されました。

  • audit_log_current_session

    導入 5.6.20
    システム変数 名前 audit_log_current_session
    スコープ グローバル、セッション
    動的 いいえ
    許可されている値 ブール
    デフォルト depends on filtering policy

    現在のセッションで監査ロギングが有効になっているかどうかを示します。この変数のセッションの値は、読み取り専用です。セッションの開始時に、audit_log_include_accounts および audit_log_exclude_accounts システム変数の値に基づいて設定されます。監査ログプラグインはこのセッション値を使用して、そのセッションでイベントを監査するかどうかを決定します。(グローバル値もありますが、このプラグインでは使用されません。)

    この変数は、MySQL 5.6.20 で追加されました。

  • audit_log_exclude_accounts

    導入 5.6.20
    コマンド行形式 --audit-log-exclude-accounts=value
    システム変数 名前 audit_log_exclude_accounts
    スコープ グローバル
    動的 はい
    許可されている値 文字列
    デフォルト NULL

    イベントのログが記録されないアカウント。この値には、NULL またはカンマで区切った 1 つ以上のアカウント名のリストを含む文字列を指定するようにしてください。詳細については、セクション6.3.12.4「監査ログプラグインのロギング制御」を参照してください。

    この変数は、MySQL 5.6.20 で追加されました。

  • audit_log_file

    導入 5.6.10
    コマンド行形式 --audit-log-file=file_name
    システム変数 名前 audit_log_file
    スコープ グローバル
    動的 いいえ
    許可されている値 ファイル名
    デフォルト audit.log

    監査ログプラグインがイベントを書き込むファイルの名前。デフォルト値は audit.log です。ファイル名が相対パスの場合、サーバーはデータディレクトリに相対的なパスであると解釈します。セキュリティー上の理由から、監査ログファイルは、MySQL サーバーおよびログを表示する正当な理由を持つユーザーにのみアクセス可能なディレクトリに書き込まれるべきです。

    この変数は MySQL 5.6.10 で追加されました。

  • audit_log_flush

    導入 5.6.10
    システム変数 名前 audit_log_flush
    スコープ グローバル
    動的 はい
    許可されている値 ブール
    デフォルト OFF

    この変数が有効になるよう (1 または ON) に設定されている場合、監査ログプラグインはそのログファイルを閉じてから再度開いて、フラッシュします。(この値は、別のフラッシュを実行するために再度有効にする前に、明示的に無効にする必要がないように、OFF のままになっています。)audit_log_rotate_on_size が 0 である場合を除いて、この変数を有効にしても効果はありません。

    この変数は MySQL 5.6.10 で追加されました。

  • audit_log_format

    導入 5.6.14
    コマンド行形式 --audit-log-format=value
    システム変数 名前 audit_log_format
    スコープ グローバル
    動的 いいえ
    許可されている値 (>= 5.6.14) 列挙
    デフォルト OLD
    有効な値 OLD
    NEW

    監査ログファイルの形式。許可されている値は、OLD および NEW (デフォルトは OLD) です。各形式についての詳細は、セクション6.3.12.3「監査ログファイル」を参照してください。

    audit_log_format の値を変更する場合は、次の手順を使用して、ある形式のログエントリが別の形式のエントリを含む既存のログファイルに書き込まれることを回避します。

    1. サーバーを停止します。

    2. 現在の監査ログファイルの名前を手動で変更します。

    3. 新しい audit_log_format の値でサーバーを再起動します。監査ログプラグインによって、選択した形式のログエントリを含む新しいログファイルが作成されます。

    この変数は、MySQL 5.6.14 で追加されました。

  • audit_log_include_accounts

    導入 5.6.20
    コマンド行形式 --audit-log-include-accounts=value
    システム変数 名前 audit_log_include_accounts
    スコープ グローバル
    動的 はい
    許可されている値 文字列
    デフォルト NULL

    イベントのログが記録されるアカウント。この値には、NULL またはカンマで区切った 1 つ以上のアカウント名のリストを含む文字列を指定するようにしてください。詳細については、セクション6.3.12.4「監査ログプラグインのロギング制御」を参照してください。

    この変数は、MySQL 5.6.20 で追加されました。

  • audit_log_policy

    導入 5.6.10
    コマンド行形式 --audit-log-policy=value
    システム変数 (<= 5.6.19) 名前 audit_log_policy
    スコープ グローバル
    動的 はい
    システム変数 (>= 5.6.20) 名前 audit_log_policy
    スコープ グローバル
    動的 いいえ
    許可されている値 列挙
    デフォルト ALL
    有効な値 ALL
    LOGINS
    QUERIES
    NONE

    監査ログプラグインがイベントをそのログファイルに書き込む方法を制御するポリシーです。次の表は、許可される値を示しています。

    説明
    ALL イベントのログをすべて記録します
    LOGINS ログインイベントのログのみを記録します
    QUERIES クエリーイベントのログのみを記録します
    NONE ログを何も記録しません (監査ストリームを無効にします)

    MySQL 5.6.20 の時点で、audit_log_policy はサーバーの起動時にしか設定できません。実行時は、読み取り専用の変数です。これは、より詳細にロギングポリシーを制御し、起動時または実行時に設定できるその他の 2 つのシステム変数 (audit_log_connection_policyaudit_log_statement_policy) が導入されたためです。その他の 2 つの変数の代わりに、起動時に audit_log_policy を使用し続けると、サーバーはその値を使用して、これらの変数を設定します。ポリシーの変数とそれらの相互作用についての詳細は、セクション6.3.12.4「監査ログプラグインのロギング制御」を参照してください。

    MySQL 5.6.20 よりも前では、audit_log_connection_policy および audit_log_statement_policy システム変数が存在しません。audit_log_policy は、唯一のポリシー制御の変数であり、サーバーの起動時または実行時に設定できます。

    この変数は MySQL 5.6.10 で追加されました。

  • audit_log_rotate_on_size

    導入 5.6.10
    コマンド行形式 --audit-log-rotate-on-size=N
    システム変数 名前 audit_log_rotate_on_size
    スコープ グローバル
    動的 はい
    許可されている値 数値
    デフォルト 0

    audit_log_rotate_on_size 値を 0 よりも大きくした場合は、ファイルへの書き込みによってそのサイズがこの値を超えると、監査ログプラグインはそのログファイルを閉じてから再度開きます。元のファイル名は、タイムスタンプ拡張子が含まれるように変更されます。

    audit_log_rotate_on_size 値が 0 の場合、プラグインはサイズに基づいて、そのログを閉じてから再度開きません。代わりに、audit_log_flush 使用して、要求に応じてログを閉じてから再度開きます。この場合、ファイルをフラッシュする前に、サーバーの外部でファイル名を変更します。

    監査ログファイルのローテーションおよびタイムスタンプの解釈についての詳細は、セクション6.3.12.4「監査ログプラグインのロギング制御」を参照してください。

    この変数を 4096 の倍数でない値に設定すると、もっとも近い倍数に切り捨てられます。(したがって、4096 未満の値に設定すると、0 (ゼロ) に設定した結果となり、ローテーションは発生しません。)

    この変数は MySQL 5.6.10 で追加されました。

  • audit_log_statement_policy

    導入 5.6.20
    コマンド行形式 --audit-log-statement-policy=value
    システム変数 名前 audit_log_statement_policy
    スコープ グローバル
    動的 はい
    許可されている値 列挙
    デフォルト ALL
    有効な値 ALL
    ERRORS
    NONE

    監査ログプラグインがステートメントイベントをそのログファイルに書き込む方法を制御するポリシーです。次の表は、許可される値を示しています。

    説明
    ALL ステートメントイベントのログをすべて記録します
    ERRORS 失敗したステートメントイベントのログのみを記録します
    NONE ステートメントイベントのログを記録しません
    注記

    セクション6.3.12.4「監査ログプラグインのロギング制御」で説明したように、audit_log_policy も指定されている場合は、サーバーの起動時に、audit_log_statement_policy に明示的に指定された値がオーバーライドされる可能性があります。

    この変数は、MySQL 5.6.20 で追加されました。

  • audit_log_strategy

    導入 5.6.10
    コマンド行形式 --audit-log-strategy=value
    システム変数 名前 audit_log_strategy
    スコープ グローバル
    動的 いいえ
    許可されている値 列挙
    デフォルト ASYNCHRONOUS
    有効な値 ASYNCHRONOUS
    PERFORMANCE
    SEMISYNCHRONOUS
    SYNCHRONOUS

    監査ログプラグインで使用されるロギング方法。次の表では、許可されている値について説明します。

    表 6.18 監査ログの戦略

    意味
    ASYNCHRONOUS 非同期的にログを記録し、出力バッファー内の領域を待機します
    PERFORMANCE 非同期的にログを記録し、出力バッファー内の領域が十分でない場合はリクエストを破棄します
    SEMISYNCHRONOUS 同期的にログを記録し、オペレーティングシステムによるキャッシュ処理を許可します
    SYNCHRONOUS 同期的にログを記録し、各リクエスト後に sync() を呼び出します

    この変数は MySQL 5.6.10 で追加されました。


User Comments
Sign Up Login You must be logged in to post a comment.