SHOW GRANTS [FOR user
]
このステートメントは、MySQL
ユーザーアカウントに供与された権限を複製するために発行されなければいけない
GRANT
ステートメントをリストにします。アカウントは、たとえば
'jeffrey'@'localhost'
のように GRANT
ステートメントと同じフォーマットを利用して名づけられます。アカウント名のユーザー名の部分のみを指定した場合は、'%'
のホスト名の部分が使用されます。アカウント名の指定についての追加情報に関しては、項8.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
はそれらを表示しません。
SHOW GRANTS
を使用するには、mysql
データベースに対する
SELECT
権限が必要です。