我试图删除数据库上用户的所有权限。
REVOKE ALL PRIVILEGES ON database.* FROM 'user'@'%';
这只是一个错误说:
ERROR 1141 (42000): There is no such grant defined for user 'user' on host '%'
我在运行查询时以root用户身份登录。并且为用户查询运行show grants显示用户具有所有数据库的权限
show grants query的输出:
GRANT USAGE ON *.* TO 'user'@'%' IDENTIFIED BY PASSWORD 'xxxxxx'
答案 0 :(得分:2)
撤销声明必须与发出的补助相匹配。如果向*.*
发放了授权,则您也只能撤销*.*
。
因为SHOW GRANTS for 'user'@'%'
显示的行如下:
GRANT USAGE ON *.* TO 'user'@'%' IDENTIFIED BY PASSWORD 'xxxxxx'
您需要撤销 !
这应该有效:
REVOKE ALL PRIVILEGES ON *.* FROM 'user'@'%';
database.*
表示“数据库”数据库中的所有表
*.*
表示所有数据库中的所有表
答案 1 :(得分:0)
您可以执行以下查询,
1)改进,改变常规,创建,创建常规,创建表格,创建临时表,创建用户,创建视图,删除,删除,事件,执行,文件,索引,插入,锁定表,过程,参考, RELOAD,REPLICATION CLIENT,REPLICATION SLAVE,SELECT,SHOW DATABASES,SHOW VIEW,SHUTDOWN,SUPER,TRIGGER,UPDATE ON 。 FROM'user'@'%';
OR
在上撤消所有权限。 FROM'user'@'%';
2)在上撤销授权选项。 FROM'user'@'%';