10bet网址
MySQL 5.6リファレンスマニュアル
下载本手册
PDF(美国高级主任)- 26.8 mb
PDF (A4)- 26.8 mb


6.2.3アカウント名の指定

MySQLアカウント名はユザ名とホスト名で構成されます。これにより、別々のホストから接続可能な同じ名前を持つユーザーのためのアカウントを作成できます。このセクションでは、特殊な値やワイルドカードルールを含む、アカウント名の記述方法について説明します。

创建用户格兰特设置密码などのSQLステトメントでは,次のルルを使用してアカウント名を記述してください。

  • アカウント名の構文はuser_name“@”host_nameです。

  • ユ,ザ,名のみで構成されるアカウント名は,user_name' @ ' % 'と同等です。たとえば,“我”“我”@“%”と同等です。

  • ユ,ザ,名およびホスト名は,それらが引用符なしの識別子として有効な場合,引用する必要はありません。引用符が必要なのは,user_name文字列が特殊文字(-など)を含んでいたり,host_name文字列が特殊文字またはワ▪ルドカ▪ド文字(など)を含んでいたりする場合で,たとえば“试用者,“@”%。com”のようになります。

  • ユ、ザ、名およびホスト名は、逆引用符()、単一引用符 (),または二重引用符()のいずれかを使用して,識別子または文字列として引用符で囲みます。

  • ユ,ザ,名およびホスト名の部分が引用符で囲まれる場合,別々に囲んでください。まり,“我”@“localhost”と記述し,“me@localhost”とは記述しません。後者は“me@localhost”@“%”と解釈されます。

  • CURRENT_USERまたはCURRENT_USER ()関数への参照は,現行クラアントのユザ名およびホスト名の文字を指定することと同等です。

MySQLは,mysqlデータベースの付与テーブルにアカウント名を格納するとき,ユーザー名とホスト名の部分に別々のカラムを使用します。

  • 用户テブルにはアカウントごとに1行が格納されます。用户および宿主カラムはユ,ザ,名およびホスト名を格納します。このテブルには,アカウントが持グロバル権限も指定されます。

  • ほかの付与テーブルには,データベースおよびデータベース内のオブジェクトに対してアカウントが持つ権限が示されます。これらのテ,ブルにはアカウント名を格納するための用户および宿主カラムがあります。これらのテ,ブルの各行は,同じ用户および宿主の値を持用户テ,ブル内のアカウントに関連付けられています。

付与テブル構造に関する追加の詳細にいては,”@“localhost”のように引用符で囲んだ空のユ,ザ,名部分を使用します。

アカウント名のホスト名部分は多くの形式を持。

  • ホスト値はホスト名またはIPアドレス(IPv4またはIPv6)とすることができます。“localhost”という名前はロ,カルホストを示します。IPアドレス“127.0.0.1”はIPv4ルプバックンタフェスを示します。IPアドレス“::1”は,IPv6ルプバック@ @ンタフェスを示します。

  • ワ▪▪ルドカ▪▪ド文字および_を,ホスト名またはIPアドレスの値に使用できます。これらは就像演算子で実行されるパタンマッチング演算と同じ意味を持ます。たとえば,ホスト値“%”はあらゆるホスト名に一致し,“% 10bet靠谱.mysql.com”という値は10bet靠谱ドメ电子邮箱ン内のすべてのホストに一致し,“192.168.1. %”は192.168.1のクラスcネットワ,クのあらゆるホストに一致します。

    IPワルドカド値をホスト値に使用できるため(サブネット上のすべてのホストに一致する“192.168.1. %”など),一部のユ,ザ,がホスト192.168.1.somewhere.comを指定することによって,この機能を悪用しようとする可能性があります。このような試みを阻止するために,MySQLでは,数字およびドットで始まるホスト名との一致が許可されていません。したがって,1.2.example.comのような名前を持ホストがある場合,その名前はアカウント名のホスト部分と決して一致しません。IPワルドカド値は,ホスト名でなくIPアドレスのみと一致することができます。

  • IPv4アドレスで指定されるホスト値について,ネットワーク番号に使用するアドレスビットの数を示すネットマスクを指定することができます。ネットマスク表記はIPv6アドレスにいては使用できません。

    構文はhost_ip/子网掩码です。例:

    创建用户'david'@'192.58.197.0/255.255.255.0';

    これにより大卫は,次の条件がtrueとなるIPアドレスclient_ipを持すべてのクラアントホストから接続できます。

    client_ip子网掩码host_ip

    まり,次のような创建用户ステ,トメントがあるとします。

    client_ip& 255.255.255.0 = 192.58.197.0

    この条件を満たし,MySQLサ,バ,に接続できるIPアドレスは,192.58.197.0から192.58.197.255までの範囲のものです。

    ネットマスクは、8、16、24、または32ビットのアドレスを使用するようサーバーに指示するためにのみ使用できます。例:

    • 192.0.0.0/255.0.0.0: 192のクラスaネットワ,ク上のすべてのホスト

    • 192.168.0.0/255.255.0.0: 192.168のクラスbネットワ,ク上のすべてのホスト

    • 192.168.1.0/255.255.255.0: 192.168.1のクラスcネットワ,ク上のすべてのホスト

    • 192.168.1.1:この特定のIPアドレスを持ホストのみ

    次のネットマスクは28ビットをマスクしますが,28は8の倍数でないため機能しません。

    192.168.0.1/255.255.255.240

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

  • ロ,カルネットワ,ク上のホストの完全修飾名がhost1.example.comだとします。DNSがこのホストの名前参照をhost1.example.comとして返す場合,アカウントホスト値にこの名前を使用します。ただし,dnsがhost1のみを返す場合,代わりにhost1を使用します。

  • DNSが特定のホストのIPアドレスとして192.168.1.2を返す場合,これはアカウントホスト値192.168.1.2と一致しますが192.168.01.2とは一致しません。同様に,これは192.168.1. %のようなアカウントホストパタ,ンに一致しますが192.168.01. %には一致しません。

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