このページは機械翻訳したものです。
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_VALIDATED
がYES
の場合、DNS への追加コールを回避できるように、IP に対応するホスト名としてHOST
カラムが使用されます。HOST_VALIDATED
がNO
である間、DNS 解決は、最終的に有効な結果または永続エラーのいずれかで完了するまで、接続試行ごとに試行されます。 この情報により、サーバーは一時的な DNS 障害中に不正または欠落したホスト名のキャッシュを回避でき、クライアントに永久的な影響を及ぼす可能性があります。 -
SUM_CONNECT_ERRORS
「ブロック」とみなされる接続エラーの数 (
max_connect_errors
システム変数に対して評価される)。 プロトコルハンドシェイクエラーのみがカウントされ、検証 (HOST_VALIDATED = YES
) に合格したホストに対してのみカウントされます。特定のホストの
SUM_CONNECT_ERRORS
がmax_connect_errors
の値に達すると、そのホストからの新しい接続はブロックされます。 ホストがブロックされていない間にホストからの複数の接続が同時に試行される可能性があるため、SUM_CONNECT_ERRORS
値はmax_connect_errors
値を超えることがあります。 これらのいずれかまたはすべてに障害が発生し、SUM_CONNECT_ERRORS
がmax_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_ERRORS
がmax_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_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 が、存在するが 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 TABLE
は host_cache
テーブルに対して許可されています。 テーブルに対する DROP
権限が必要です。 テーブルを切り捨てると、ホストキャッシュがフラッシュされます。これは、ホストキャッシュのフラッシュ で説明されている効果があります。