web-dev-qa-db-ja.com

どのMySQLユーザーがデータベースにアクセスできますか?

どのMySQLユーザーがデータベースにアクセスでき、どのような権限を持っているかを確認するにはどうすればよいですか?

「Privileges」をクリックすると、phpMyAdminからこの情報を取得できるようです。 。 。

                 Users having access to "mydatabase"
User     Host       Type               Privileges              Grant
myuser1  %          database-specific  ALL PRIVILEGES          Yes
root     localhost  global             ALL PRIVILEGES          Yes
myuser2  %          database-specific  SELECT, INSERT, UPDATE  No

。 。 。しかし、コマンドラインからこのクエリを実行する方法を知りたいのですが。

(phpMyAdminは実行中のコマンドのSQL構文を表示しますが、この場合は表示されません。)

特定のユーザーにどのような権限を付与するか(つまり、「SHOW GRANTS for myuser1」)を尋ねているのではなく、データベースの名前を指定していることに注意してください。そのデータベースへのアクセスとどのような権限がありますか?基本的に、コマンドラインから上記のグラフを取得するにはどうすればよいですか

13
Philip Durbin

コマンドに\ Gを追加して、「グリッド」ビューに結果を表示できます

SELECT * FROM mysql.db WHERE Db = '<database name in LC>'\G;
16
Graham
SELECT * FROM mysql.db WHERE Db = '<database name in LC>';
8
K. Brian Kelley

あなたはこれを試してみて、最高の読みやすさを提供する必要があります:

select db 'DATABASE', Host HOST, user USER from mysql.db where db = '<databasename>';

CLIの記憶に残るもの:

select db,Host,user from mysql.db;
2
sjas