【发布时间】:2017-07-07 10:47:46
【问题描述】:
我正在尝试删除用户对数据库的所有权限。
REVOKE ALL PRIVILEGES ON database.* FROM 'user'@'%';
这只是给出一个错误提示:
ERROR 1141 (42000): There is no such grant defined for user 'user' on host '%'
我在运行查询时以 root 用户身份登录。并且为用户查询运行 show grants 显示用户对所有数据库都有权限
显示授权查询的输出:
GRANT USAGE ON *.* TO 'user'@'%' IDENTIFIED BY PASSWORD 'xxxxxx'
【问题讨论】:
-
你能把
SHOW GRANTS for 'user'@'%'的输出包括进去吗?> -
@AlexTartan 添加了 show grants 的输出
-
*.*和database.*是两个不同的东西。删除*.*的授权,如果需要,添加其他数据库的授权 -
假设
database.*是指定数据库的所有表,*.*都是数据库,我是否正确? -
@A.Jac
database.*表示该数据库中的所有表,*.*表示该服务器上所有数据库中的所有表
标签: mysql permissions