SHOW GRANTS [FOR user]
このステートメントは、MySQL ユーザーアカウントに付与される権限を複製するために発行する必要のある 1 つまたは複数の GRANT
ステートメントを一覧表示します。このアカウントは、GRANT
ステートメントの場合と同じ形式 ('jeffrey'@'localhost'
など) を使用して指定されます。アカウント名のユーザー名の部分のみを指定した場合は、'%'
のホスト名の部分が使用されます。アカウント名の指定の詳細は、セクション13.7.1.4「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();
SHOW GRANTS FOR CURRENT_USER
(または、いずれかの同等の構文) が DEFINER
コンテキスト (SQL SECURITY DEFINER
で定義されているストアドプロシージャー内など) で使用されている場合、表示される付与権限は呼び出し元ではなく、定義者のものです。
SHOW GRANTS
は、指定されたアカウントに明示的に付与される権限のみを表示します。そのアカウントでほかの権限を使用できる可能性もありますが、それらは表示されません。たとえば、匿名アカウントが存在する場合、指定されたアカウントはその権限を使用できる可能性がありますが、SHOW GRANTS
はそれらを表示しません。
SHOW GRANTS
には、mysql
データベースに対する SELECT
権限 (現在のユーザーの権限の表示を除く) が必要です。