MySQL 8.0 リファレンスマニュアル


27.12.19.5 host_cache テーブル

MySQL サーバーは、クライアントホスト名および IP アドレス情報を含むインメモリーホストキャッシュを保持し、ドメインネームシステム (DNS) のルックアップを回避するために使用されます。 host_cache テーブルには、このキャッシュの内容が公開されます。 host_cache_size システム変数は、ホストキャッシュのサイズと host_cache テーブルのサイズを制御します。 ホストキャッシュの操作および構成については、セクション5.1.12.3「DNS ルックアップとホストキャッシュ」 を参照してください。

host_cache テーブルではホストキャッシュの内容が公開されるため、SELECT ステートメントを使用して調べることができます。 これは、接続の問題の原因の診断に役立つことがあります。

host_cache テーブルにはこれらのカラムがあります。

  • IP

    文字列で表された、サーバーに接続しているクライアントの IP アドレス。

  • HOST

    そのクライアント IP の解決済みの DNS ホスト名、または名前が不明な場合は NULL

  • HOST_VALIDATED

    クライアント IP に対し、IP からホスト名、ホスト名から IP の DNS 解決が正常に実行されたかどうか。 HOST_VALIDATEDYES の場合、DNS への追加コールを回避できるように、IP に対応するホスト名として HOST カラムが使用されます。 HOST_VALIDATEDNO である間、DNS 解決は、最終的に有効な結果または永続エラーのいずれかで完了するまで、接続試行ごとに試行されます。 この情報により、サーバーは一時的な DNS 障害中に不正または欠落したホスト名のキャッシュを回避でき、クライアントに永久的な影響を及ぼす可能性があります。

  • SUM_CONNECT_ERRORS

    ブロックとみなされる接続エラーの数 (max_connect_errors システム変数に対して評価される)。 プロトコルハンドシェイクエラーのみがカウントされ、検証 (HOST_VALIDATED = YES) に合格したホストに対してのみカウントされます。

    特定のホストの SUM_CONNECT_ERRORSmax_connect_errors の値に達すると、そのホストからの新しい接続はブロックされます。 ホストがブロックされていない間にホストからの複数の接続が同時に試行される可能性があるため、SUM_CONNECT_ERRORS 値は max_connect_errors 値を超えることがあります。 これらのいずれかまたはすべてに障害が発生し、SUM_CONNECT_ERRORSmax_connect_errors の値を超える可能性があります。

    max_connect_errors が 200 で、特定のホストの SUM_CONNECT_ERRORS が 199 であるとします。 10 クライアントがそのホストから同時に接続しようとした場合、SUM_CONNECT_ERRORS が 200 に達していないため、これらはブロックされません。 5 つのクライアントでブロッキングエラーが発生した場合、SUM_CONNECT_ERRORS の値は 204 になり、クライアントごとに増加します。 接続試行が開始されたときの SUM_CONNECT_ERRORS の値が 200 に達していないため、他の 5 つのクライアントは成功し、ブロックされません。 SUM_CONNECT_ERRORS が 200 に達した後に開始するホストからの新しい接続はブロックされます。

  • COUNT_HOST_BLOCKED_ERRORS

    SUM_CONNECT_ERRORSmax_connect_errors システム変数の値を超えたため、ブロックされた接続の数。

  • COUNT_NAMEINFO_TRANSIENT_ERRORS

    IP からホスト名への DNS 解決時の一時的なエラーの数。

  • COUNT_NAMEINFO_PERMANENT_ERRORS

    IP からホスト名への DNS 解決時の永続的なエラーの数。

  • COUNT_FORMAT_ERRORS

    ホスト名形式エラーの数。 MySQL では、1.2.example.com など、名前の最初のコンポーネントが完全に数値であるホスト名に対して、mysql.user システムテーブルの Host カラム値の照合は実行されません。 代わりにクライアント IP アドレスが使用されます。 この種類の照合が行われない理由については、セクション6.2.4「アカウント名の指定」を参照してください。

  • COUNT_ADDRINFO_TRANSIENT_ERRORS

    ホスト名から IP への逆引き DNS 解決時の一時的なエラーの数。

  • COUNT_ADDRINFO_PERMANENT_ERRORS

    ホスト名から IP への逆引き DNS 解決時の永続的なエラーの数。

  • COUNT_FCRDNS_ERRORS

    Forward-confirmed reverse DNS エラーの数。 これらのエラーは、IP からホスト名、ホスト名から IP の DNS 解決で、クライアントの発信元の IP アドレスに一致しない IP アドレスが生成された場合に発生します。

  • COUNT_HOST_ACL_ERRORS

    クライアントホストからの接続がユーザーに許可されていないために発生したエラーの数。 そのような場合、サーバーは ER_HOST_NOT_PRIVILEGED を返し、ユーザー名やパスワードも要求しません。

  • COUNT_NO_AUTH_PLUGIN_ERRORS

    使用できない認証プラグインのリクエストによるエラーの数。 プラグインが使用できない可能性があるのは、たとえば、それがロードされていないか、ロードの試みに失敗した場合です。

  • COUNT_AUTH_PLUGIN_ERRORS

    認証プラグインによって報告されるエラーの数。

    認証プラグインは、障害の原因を示すために、さまざまなエラーコードを報告することがあります。 エラーの種類に応じて、これらのいずれかのカラムが増分されます。COUNT_AUTHENTICATION_ERRORSCOUNT_AUTH_PLUGIN_ERRORSCOUNT_HANDSHAKE_ERRORS。 新しいリターンコードは、既存のプラグイン API へのオプションの拡張です。 不明または予期しないプラグインエラーは COUNT_AUTH_PLUGIN_ERRORS カラムにカウントされます。

  • COUNT_HANDSHAKE_ERRORS

    有線プロトコルレベルで検出されたエラーの数。

  • COUNT_PROXY_USER_ERRORS

    プロキシユーザー A が存在しない別のユーザー B にプロキシ設定されているときに検出されたエラーの数。

  • COUNT_PROXY_USER_ACL_ERRORS

    プロキシユーザー A が、存在するが A が PROXY 権限を持たない別のユーザー B にプロキシされたときに検出されたエラーの数。

  • COUNT_AUTHENTICATION_ERRORS

    失敗した認証によって発生したエラーの数。

  • COUNT_SSL_ERRORS

    SSL の問題によるエラーの数。

  • COUNT_MAX_USER_CONNECTIONS_ERRORS

    ユーザーごとの接続割り当てを超えることによって発生したエラーの数。 セクション6.2.20「アカウントリソース制限の設定」を参照してください。

  • COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS

    時間あたりのユーザーごとの接続割り当てを超えることによって発生したエラーの数。 セクション6.2.20「アカウントリソース制限の設定」を参照してください。

  • COUNT_DEFAULT_DATABASE_ERRORS

    デフォルトのデータベースに関連するエラーの数。 たとえば、データベースが存在しないか、ユーザーにデータベースへのアクセス権限がありません。

  • COUNT_INIT_CONNECT_ERRORS

    init_connect システム変数値内のステートメントの実行の失敗によって発生したエラーの数。

  • COUNT_LOCAL_ERRORS

    サーバー実装にローカルで、ネットワーク、認証、または承認に関連しないエラーの数。 たとえば、メモリー不足状況はこのカテゴリに収まります。

  • COUNT_UNKNOWN_ERRORS

    このテーブルのほかのカラムによって報告されない、ほかの不明なエラーの数。 新しいエラー条件を報告する必要があり、host_cache テーブルの下位互換性および構造を保持する必要がある場合に備えて、このカラムは将来の使用のために予約されています。

  • FIRST_SEEN

    IP カラム内のクライアントから確認された最初の接続の試みのタイムスタンプ。

  • LAST_SEEN

    IP カラムのクライアントから見た最新の接続試行のタイムスタンプ。

  • FIRST_ERROR_SEEN

    IP カラム内のクライアントから確認された最初のエラーのタイムスタンプ。

  • LAST_ERROR_SEEN

    IP カラムでクライアントから検出された最新のエラーのタイムスタンプ。

host_cache テーブルには次のインデックスがあります:

  • 主キー (IP)

  • (HOST) のインデックス

TRUNCATE TABLEhost_cache テーブルに対して許可されています。 テーブルに対する DROP 権限が必要です。 テーブルを切り捨てると、ホストキャッシュがフラッシュされます。これは、ホストキャッシュのフラッシュ で説明されている効果があります。


関連キーワード:  テーブル, ERRORS, エラー, COUNT, パフォーマンス, スキーマ, 接続, ホスト, events, 変数