SHOW GRANTS显示用户未定义此授权

3

我有一个用户目前正在运行我的MySQL数据库。我想通过执行以下命令来查看该用户拥有的权限:

SHOW GRANTS FOR 'myuser'@'localhost';

我得到了

ERROR 1141 (42000): There is no such grant defined for user 'myuser' on host 'localhost'

因为该用户当前正在进行读写操作,所以我应该能看到某些权限,对吧?

编辑: 当我运行以下查询以查看与用户关联的主机名时,它返回%作为主机。

select host from mysql.user where user = 'myuser';

2
也许他授权中的主机名是你的服务器名称或地址,而不是localhost。使用select host from mysql.user where user = 'myuser';来查看他账户中的主机名。 - Barmar
我运行了那个语句,它显示了“%”,这是什么意思? - dev.e.loper
2个回答

6

主机名%是通配符,表示任何主机。因此,要查看他的授权,请执行以下操作:

SHOW GRANTS FOR 'myuser'@'%';

2

要查看当前登录用户的权限,只需要使用{{link1:SHOW GRANTS}}即可。

要查找用户使用的主机和通配符,请运行select Host from mysql.user where User = 'myuser';,然后使用该主机(和用户)运行SHOW GRANTS FOR myuser@<host>


那个可以运行,但是我在查找另一个用户的授权权限方面遇到了问题。 - dev.e.loper

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接