哪些MySQL用户可以访问数据库?

我如何知道哪些MySQL用户可以访问数据库以及他们拥有哪些权限?

我似乎能够从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”),而是给定数据库的名称,如何确定哪些MySQL用户有权访问该数据库以及他们拥有哪些权限? 基本上,我怎么能从命令行得到上面的图表?

您可以将\ G附加到命令中,以“网格”forms显示结果

 SELECT * FROM mysql.db WHERE Db = '<database name in LC>'\G; 
 SELECT * FROM mysql.db WHERE Db = '<database name in LC>'; 

您可以试试这个,应该提供最好的可读性:

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

为了这个cli更多的记忆:

 select db,host,user from mysql.db;