使用SHOW GRANTS查看当前用户权限;2. 用SHOW GRANTS for ‘用户名’@’主机地址’查看指定用户权限;3. 查询mysql.user等系统表获取详细授权信息;4. 注意权限要求及主机匹配,修改系统表后需执行FLUSH PRIVILEGES刷新权限。

在 MySQL 中查看用户授权信息,主要通过 SHOW GRANTS 命令来实现。你可以查看当前用户或其他指定用户的权限。以下是常用方法:
1. 查看当前登录用户的权限
执行以下命令:
SHOW GRANTS;
这条命令会显示当前用户被授予的所有权限。
2. 查看指定用户的权限
如果你想查看某个特定用户(如 ‘username’@’host’)的权限,使用:
SHOW GRANTS FOR ‘用户名’@’主机地址’;
例如:
SHOW GRANTS FOR ‘root’@’localhost’;
注意:用户名和主机地址必须与 mysql.user 表中的记录完全匹配。
3. 查看用户权限的详细信息(从系统表查询)
你也可以直接查询 mysql 数据库中的 user、db、tables_priv 等表来获取更详细的授权信息。
比如查看所有用户的部分权限信息:
select User, Host, Select_priv, Insert_priv, Grant_priv FROM mysql.user;
这能列出用户的基本操作权限和是否具有授权能力(Grant_priv)。
4. 注意事项
– 执行 SHOW GRANTS FOR 需要有足够的权限,通常是 SUPER 权限或 SELECT 权限访问 mysql 库。 – 主机部分(Host)很关键,’user’@’localhost’ 和 ‘user’@’%’ 是不同的账户。 – 授权信息修改后无需重启 MySQL,但需确保使用 FLUSH PRIVILEGES 刷新权限(仅在直接修改系统表时需要)。 基本上就这些。日常使用中,SHOW GRANTS 是最直接有效的方法。