哪些 MySQL 用户有权访问数据库?

哪些 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 语法,但在这种情况下我看不到它。)

请注意,我并不是在询问特定用户拥有哪些授权(即“显示 myuser1 的授权”),而是给定一个数据库的名称,我如何确定哪些 MySQL 用户有权访问该数据库以及他们拥有什么权限? 基本上,我如何从命令行获取上面的图表?

答案1

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

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

答案2

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

答案3

你可以尝试一下,应该能提供最好的可读性:

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

对于 CLI 来说更容易记忆的内容:

select db,host,user from mysql.db;

相关内容