SHOW GRANTS [FOR user
]
このステートメントは、MySQL ユーザ
アカウントに供与された権限を複製する為に発行されなければいけない
GRANT
ステートメントをリストにします。アカウントは、例えば
'jeffrey'@'localhost'
のように GRANT
ステートメントと同じフォーマットを利用して名づけられます。もしアカウント名のユーザ名部分だけを指定すると、ホスト名の
'%'
部分が利用されます。アカウント名の指定についての追加情報に関しては、項12.5.1.3. 「GRANT
構文」
を参照してください。
mysql> SHOW GRANTS FOR 'root'@'localhost';
+---------------------------------------------------------------------+
| Grants for root@localhost |
+---------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION |
+---------------------------------------------------------------------+
サーバに接続する為に利用している、アカウントに供与された権限をリストにする為に、次のステートメントを利用する事ができます。
SHOW GRANTS; SHOW GRANTS FOR CURRENT_USER; SHOW GRANTS FOR CURRENT_USER();
MySQL 5.1.12 にも有るように、もし SHOW
GRANTS FOR CURRENT_USER
(またはそれと同等な構文)が
DEFINER
コンテキスト内で利用されたら、SQL
SECURITY DEFINER
を利用して定義されたストアド
プロシージャ内などで)、表示された供与物は、呼び出し元の物ではなく、定義者の物です。
SHOW GRANTS
は名づけられたアカウントに明示的に供与された権限のみを表示します。そのアカウントに有効なその他の権限もあるかもしれませんが、それらは表示されません。例えば、もし匿名アカウントが存在したら、名づけられたアカウントはその権限を利用する事ができるかもしれませんが、SHOW
GRANTS
はそれらを表示しません。