このページは機械翻訳したものです。
MySQL のロール名は、権限の名前付きコレクションであるロールを参照します。 ロールの使用例は、セクション6.2.10「ロールの使用」 を参照してください。
ロール名の構文とセマンティクスは、アカウント名と似ています。セクション6.2.4「アカウント名の指定」 を参照してください。 付与テーブルに格納されているように、付与テーブルのスコープカラムのプロパティ で説明されているアカウント名と同じプロパティーを持ちます。
ロール名は、次の点でアカウント名と異なります:
- ロール名のユーザー部分は空白にできません。 したがって、「「匿名ユーザー」」の概念に類似した「「匿名ロール」」はありません。 
- アカウント名の場合、ロール名のホスト部分を省略すると、 - '%'のホスト部分になります。 ただし、アカウント名の- '%'とは異なり、ロール名の- '%'のホスト部分にはワイルドカードプロパティはありません。 たとえば、ロール名として使用される名前- 'me'@'%'の場合、ホスト部分 (- '%') はリテラル値であり、「「任意のホスト」」一致プロパティはありません。
- ロール名のホスト部分のネットマスク表記に意味はありません。 
- アカウント名は、複数のコンテキストで - CURRENT_USER()にすることができます。 ロール名がではありません。
      mysql.user システムテーブルの行は、アカウントとロールの両方として機能できます。 この場合、プロパティに一致する特別なユーザー名またはホスト名は、名前がロール名として使用されるコンテキストには適用されません。 たとえば、次のステートメントは、myrole のユーザー部分およびホスト名を持つすべてのロールを使用して現在のセッションロールを設定することを想定して実行できません: 
    
SET ROLE 'myrole'@'%';
      かわりに、このステートメントはセッションのアクティブロールを'myrole'@'%'という名前のロールに設定します。
    
      このため、多くの場合、ロール名はユーザー名部分のみを使用して指定され、ホスト名部分は暗黙的に'%'になります。 '%'以外のホスト部分でロールを指定すると、特定のホストからの接続を許可されたユーザーアカウントとしてロールとして機能する名前を作成する場合に役立ちます。