撤消对数据库的mysql权限

时间:2017-07-07 10:47:46

标签: mysql permissions

我试图删除数据库上用户的所有权限。

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'

2 个答案:

答案 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'@'%';