プラグインおよびコンポーネント

特定のMySQL Serverプラグインおよびコンポーネントは、DBシステムに自動的にロードされます。これらのプラグインはいずれもインストールする必要はありません。

  • MySQL Enterprise Thread Pool: スレッド・プール・プラグインは、オーバーヘッドを削減してパフォーマンスを向上させるように設計された代替スレッド処理モデルを提供します。MySQL Enterpriseスレッド・プールを参照してください。
    MySQL HeatWave DBシステムは、スレッド・プール・プラグインによって管理される接続の数をログに記録します。2分間隔ごとにメッセージがエラーログに書き込まれます。間隔は、DBシステムが正常に起動された後、最初の3分間で12秒に短縮されます。接続は、非管理ユーザー(TP_CONNECTION_ADMIN権限のないユーザー)および管理ユーザー(TP_CONNECTION_ADMIN権限を持つユーザー)にグループ化されます。グループごとに、次の情報が表示されます。
    • 管理対象: ロギング間隔の最後に現在オープンされ、スレッド・グループによって処理されるセッション。
    • デルタ: 最後のロギング間隔における管理対象セッション数の変更。
    • アクティブ: 最後の間隔でアクティブ(問合せを実行中)になったセッション。
    • オープン済: 最後の間隔でオープンされたセッション。
    • クローズ済: 最後の間隔でクローズされたセッション。
    • 追加済: 最後の間隔でオープンされ、まだクローズされていないセッション。
    • 削除済: 前の間隔でオープンされ、最後の間隔でクローズされたセッション。
    MySQL 9.1.0以降では、確立されている接続の統計情報も表示されます。次の情報を指定します。
    • In: 最後の間隔での受信接続リクエストの数。
    • キュー: サーバーとスレッド・プールの間のキューに現在存在するリクエストの数。
    • Auth: 現在認証されているリクエストの数。
    • エラー: スレッド・プールに渡される前に、最後の間隔で中断されたリクエストの数。
    • OK: 最後の間隔で正常に処理され、新しい管理対象セッションとしてスレッド・プールに渡されたリクエストの数。
    次のSQL問合せを使用してこれらのメッセージを表示できます。
    SELECT * FROM performance_schema.error_log WHERE DATA LIKE 'TP conn%'\G
    これは MySQL 9.1.0の出力のサンプル行です。
        LOGGED: 2024-10-28 05:41:33.402235
     THREAD_ID: 0
          PRIO: Note
    ERROR_CODE: MY-015507
     SUBSYSTEM: Server
          DATA: TP conn (init: in, queue, auth, err, ok. 
                         port: managed(delta), active, opened, closed, added, dropped.):
                         Init: 23, 2, 5, 2, 18. 
                         Usr: 6(+1), 6, 17, 15, 2, 1. Adm: 2(+1), 2, 1, 0, 1, 0.
    
    出力例では、最後の間隔で23個の接続リクエストを受信しました。キューにはまだ2つのリクエストがあり、5つのリクエストが認証されています。18個がスレッド・プール・グループに渡され、2個が失敗した20個の接続リクエストを処理しました。usrグループは、この間隔の最後に合計6つのユーザー・セッションを与える、前の間隔より1つのユーザー・セッションがあることを示しています。6つのセッションすべてで、1つ以上の問合せが間隔内で実行されています。この間隔では、17の新規セッションが開かれ、15のセッションがクローズされます。間隔の最後に、前の間隔の1つのセッションがクローズされている間、新しくオープンされたセッションの2つがクローズされていません。
    thread_pool_size=Nを持つスレッド・プールの場合、Nスレッド・グループが存在し、これに対して管理者以外のユーザーのセッションがラウンド・ロビン方式で割り当てられますが、管理ユーザーのセッションが割り当てられるスレッド・グループは1つです。スレッド・プールには、N+1スレッド・グループが含まれます。
    ノート

    すべての目的で管理者アカウントを使用するのではなく、アプリケーションに必要な権限でのみ付与される個別のユーザー・アカウントを作成することをお薦めします。CREATE USER文およびGRANT文を参照してください。
  • MySQL Enterprise Auditプラグイン: 監査プラグインを使用すると、MySQL Serverはサーバー・アクティビティの監査レコードを含むログ・ファイルを生成できます。ログの内容には、クライアントが接続および切断したとき、および接続中に実行されたアクション (アクセスされたデータベースやテーブルなど) が含まれます。各問合せの時間とサイズの統計を追加して、外れ値を検出できます。プラグインのデフォルト値は変更できません。
    • audit_log_buffer_size: 10485760
    • audit_log_compression: GZIP
    • audit_log_database: mysql_audit
    • audit_log_file: /db/audit/audit.log
    • audit_log_flush_interval_seconds: 60
    • audit_log_format: JSON
    • audit_log_format_unix_timestamp: ON
    • audit_log_max_size: 5368709120
    • audit_log_prune_seconds: 604800
    • audit_log_rotate_on_size: 52428800
    デフォルトでは、監査プラグインのログは無効になっており、フィルタを定義して、すべてのユーザーの監査可能なイベントをすべてロギングできるようにする必要があります。「監査プラグイン・フィルタの定義」を参照してください。デフォルトでは、付与されるグローバル権限はほとんどなく、mysql_auditスキーマから取り消される権限もほとんどありません。Default MySQL PrivilegesおよびMySQL Enterprise Audit Pluginを参照してください。
  • connection_controlプラグイン: MySQL Serverには、構成可能な連続失敗回数数の試行後に管理者が接続試行に対するサーバー・レスポンスの遅延を拡大できるプラグイン・ライブラリが含まれています。connection-controlプラグインの変数のデフォルト値は次のとおりで、デフォルト値は変更できません:
    • connection_control_failed_connections_threshold: 3
    • connection_control_max_connection_delay: 10000
    • connection_control_min_connection_delay: 1000
    Connection-Controlプラグインを参照してください。
  • validate_passwordコンポーネント: このコンポーネントは、アカウント・ パスワードを必須にするとともに、潜在的なパスワードの強度テストを有効にすることで、セキュリティを向上させます。validate_passwordコンポーネントの変数のデフォルト値は次のとおりで、デフォルト値は変更できません:
    • validate_password.check_user_name: ON
    • validate_password.length: 8
    • validate_password.mixed_case_count: 1
    • validate_password.number_count: 1
    • validate_password.policy: MEDIUM
    • validate_password.special_char_count: 1
    パスワード検証コンポーネントを参照してください。
  • データ・マスキング: 汎用マスキング関数では任意の文字列がマスクされ、特殊目的のマスキング関数では特定タイプの値がマスクされ、生成関数はランダムな値が生成されます。データ・マスキングを参照してください。