host_cache
は、クライアントホスト名および IP アドレス情報を格納し、DNS ルックアップを回避するために使用されるホストキャッシュの内容へのアクセスを提供します。(セクション8.11.5.2「DNS ルックアップの最適化とホストキャッシュ」を参照してください。)host_cache
テーブルは、SELECT
ステートメントを使用して調査できるようにホストキャッシュの内容を公開します。パフォーマンススキーマを有効にしている必要があり、そうでなければこのテーブルは空になります。
FLUSH HOSTS
と TRUNCATE TABLE host_cache
は同じ効果を持ちます。それらはホストキャッシュをクリアします。これは host_cache
テーブルを空にし (それはキャッシュの可視表現であるため)、ブロックされたすべてのホストのブロックも解除します (セクションB.5.2.6「ホスト 'host_name' は拒否されました」を参照してください)。FLUSH HOSTS
には RELOAD
権限が必要です。TRUNCATE TABLE
では host_cache
テーブルへの DROP
権限が必要です。
host_cache
テーブルにはこれらのカラムがあります。
-
IP
文字列で表された、サーバーに接続しているクライアントの IP アドレス。
-
HOST
そのクライアント IP の解決済みの DNS ホスト名、または名前が不明な場合は
NULL
。 -
HOST_VALIDATED
クライアント IP に対し、IP からホスト名、ホスト名から IP の DNS 解決が正常に実行されたかどうか。
HOST_VALIDATED
がYES
の場合、DNS への呼び出しを回避できるように、IP に対応するホスト名としてHOST
カラムが使用されます。HOST_VALIDATED
がNO
である間、各接続について、最終的にそれが有効な結果または永続的エラーのいずれかで完了するまで、DNS 解決が試みられます。この情報により、サーバーは、クライアントに永久に影響することがある、一時的な DNS 障害発生時の不正または失われたホスト名のキャッシュを避けることができます。 -
SUM_CONNECT_ERRORS
「ブロック」とみなされる接続エラーの数 (
max_connect_errors
システム変数に対して評価される)。現在、プロトコルハンドシェークエラーのみが、検証に合格したホスト (HOST_VALIDATED = YES
) に対してのみカウントされます。 -
COUNT_HOST_BLOCKED_ERRORS
SUM_CONNECT_ERRORS
がmax_connect_errors
システム変数の値を超えたため、ブロックされた接続の数。 -
COUNT_NAMEINFO_TRANSIENT_ERRORS
IP からホスト名への DNS 解決時の一時的なエラーの数。
-
COUNT_NAMEINFO_PERMANENT_ERRORS
IP からホスト名への DNS 解決時の永続的なエラーの数。
-
COUNT_FORMAT_ERRORS
ホスト名形式エラーの数。MySQL は、
1.2.example.com
など、名前の最初のコンポーネントの 1 つまたは複数がすべて数値であるホスト名に対して、mysql.user
テーブル内のHost
カラム値の照合を実行しません。代わりにクライアント IP アドレスが使用されます。この種類の照合が行われない理由については、セクション6.2.3「アカウント名の指定」を参照してください。 -
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_ERRORS
、COUNT_AUTH_PLUGIN_ERRORS
、COUNT_HANDSHAKE_ERRORS
。新しいリターンコードは、既存のプラグイン API へのオプションの拡張です。不明または予期しないプラグインエラーはCOUNT_AUTH_PLUGIN_ERRORS
カラムにカウントされます。 -
COUNT_HANDSHAKE_ERRORS
有線プロトコルレベルで検出されたエラーの数。
-
COUNT_PROXY_USER_ERRORS
プロキシユーザー A が、存在しない別のユーザー B にプロキシ設定された場合に、検出されたエラーの数。
-
COUNT_PROXY_USER_ACL_ERRORS
存在はしているが、それに対してプロキシユーザー A が
PROXY
権限を持たない別のユーザー B に A がプロキシ設定された場合に、検出されたエラーの数。 -
COUNT_AUTHENTICATION_ERRORS
失敗した認証によって発生したエラーの数。
-
COUNT_SSL_ERRORS
SSL の問題によるエラーの数。
-
COUNT_MAX_USER_CONNECTIONS_ERRORS
ユーザーごとの接続割り当てを超えることによって発生したエラーの数。セクション6.3.4「アカウントリソース制限の設定」を参照してください。
-
COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS
時間あたりのユーザーごとの接続割り当てを超えることによって発生したエラーの数。セクション6.3.4「アカウントリソース制限の設定」を参照してください。
-
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
テーブルは MySQL 5.6.5 で追加されました。