MySQL 8.0 リファレンスマニュアル MySQL NDB Cluster 8.0 を含む

このページは機械翻訳したものです。

6.2.4 アカウント名の指定

MySQL アカウント名は、ユーザー名とホスト名で構成されます。これにより、異なるホストから接続する同じユーザー名を持つユーザーに対して個別のアカウントを作成できます。 このセクションでは、特別な値やワイルドカードルールなど、アカウント名の構文について説明します。

ほとんどの点で、アカウント名は MySQL のロール名と似ていますが、セクション6.2.5「ロール名の指定」 で説明されているいくつかの違いがあります。

アカウント名は、CREATE USERGRANTSET PASSWORD などの SQL ステートメントに表示され、次のルールに従います:

MySQL では、ユーザー名とホスト名の部分に別々のカラムを使用して、アカウント名が mysql システムデータベースの付与テーブルに格納されます:

付与テーブルに格納されているユーザー名とホスト名のプロパティー (最大長など) の詳細は、付与テーブルのスコープカラムのプロパティ を参照してください。

ユーザー名およびホスト名は、次に示すような特殊な値が使用されたりワイルドカード規則が適用されたりします。

アカウント名のユーザー名部分は、受信接続試行のユーザー名と文字どおり一致する空白以外の値、または任意のユーザー名と一致する空白の値 (空の文字列) です。 ブランクのユーザー名を持つアカウントは匿名ユーザーです。 SQL ステートメントで匿名ユーザーを指定するには、''@'localhost' のように引用符で囲んだ空のユーザー名部分を使用します。

アカウント名のホスト名部分は多くの形式を持つことができ、ワイルドカードが許可されます。

サーバーは、クライアントホスト名または IP アドレス用のシステム DNS リゾルバによって返された値を使用して、アカウント名のホスト値の突き合わせをクライアントホストに対して実行します。 アカウントのホスト値がネットマスク表記法を使用して指定されている場合を除き、サーバーは、IP アドレスとして指定されたアカウントのホスト値に対しても、この比較を文字列一致として実行します。 つまり、DNS によって使用されるのと同じ形式でアカウントホスト値を指定しなければならないということを意味します。 留意するべき問題の例を次に示します。

このような問題を回避するには、DNS がホスト名とアドレスを返す形式を確認することをお薦めします。 MySQL アカウント名には、同じ形式の値を使用します。