使用SHOW GRANTS查看当前用户权限;2. 用SHOW GRANTS for ‘用户’@’主机’查看指定用户权限;3. 查询mysql.user、mysql.db等系统表获取详细权限信息;4. 通过select User, Host FROM mysql.user列出所有用户,并结合SHOW GRANTS逐个查看权限。需有管理员权限才能查看他人权限。

要查看MySQL用户的权限,可以通过以下几种方式来实现,具体取决于你想查看的是当前用户、指定用户,还是所有用户的权限信息。
1. 查看当前用户的权限
如果你已经登录到MySQL,可以直接查看当前登录用户的权限:
SHOW GRANTS;
这条命令会列出当前用户被授予的所有权限。
2. 查看指定用户的权限
如果你想查看某个特定用户(比如 username@host)的权限,可以使用:
SHOW GRANTS FOR ‘用户名’@’主机名’;
例如:
SHOW GRANTS FOR ‘root’@’localhost’;
注意替换实际的用户名和主机名。主机名常用值包括 localhost、%(表示任意主机)等。
3. 从系统表中查看权限信息
MySQL 的权限信息存储在 mysql 数据库的多个系统表中,如 user、db、tables_priv 等。你可以直接查询这些表来获取更详细的权限配置。
例如,查看全局权限:
SELECT * FROM mysql.user WHERE User=’用户名’ AND Host=’主机名’G
使用 G 可以让输出更易读。这个语句会显示该用户在全局级别上的所有权限设置。
查看数据库级别的权限:
SELECT * FROM mysql.db WHERE User=’用户名’ AND Host=’主机名’;
4. 查看所有用户及其权限
如果想了解服务器上所有用户的权限情况,可以结合查询用户表和使用 SHOW GRANTS 逐个查看。
先列出所有用户:
SELECT User, Host FROM mysql.user;
然后对每个用户执行 SHOW GRANTS FOR ‘user’@’host’; 来查看其权限。
注意:执行上述操作需要有相应的权限,通常需要管理员账户(如 root)才能查看其他用户的权限信息。
基本上就这些。掌握 SHOW GRANTS 和系统表查询,就能清楚知道每个用户的权限配置了。