我正在尝试删除用户对数据库的所有权限。
REVOKE ALL PRIVILEGES ON database.* FROM 'user'@'%';
这只会给出一个错误:
ERROR 1141 (42000): There is no such grant defined for user 'user' on host '%'
运行查询时我以 root 用户身份登录。并且运行show grants for user查询显示该用户对所有数据库都有权限
显示补助金查询的输出:
GRANT USAGE ON *.* TO 'user'@'%' IDENTIFIED BY PASSWORD 'xxxxxx'
最佳答案
撤销声明必须与发放的补助金相匹配。如果授予*.*
,您也只能撤销*.*
。
因为 SHOW GRANTS for 'user'@'%'
显示如下行:
GRANT USAGE ON *.* TO 'user'@'%' IDENTIFIED BY PASSWORD 'xxxxxx'
您需要撤销该!
这应该有效:
REVOKE ALL PRIVILEGES ON *.* FROM 'user'@'%';
database.*
表示“database”数据库中的所有表
*.*
表示所有数据库中的所有表
关于mysql - 撤销mysql数据库权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44968899/