撤消MySQL数据库上所有用户的所有权限

时间:2011-03-13 04:14:03

标签: mysql

来自:http://dev.mysql.com/doc/refman/5.0/en/drop-database.html

  

...删除数据库时,不会自动删除数据库的用户权限。

所以问题就变成了,你如何撤销MySQL数据库上所有用户的所有权限?我想这很简单,但我很惊讶我无法在任何地方找到它。

5 个答案:

答案 0 :(得分:13)

您可以使用this syntax撤消特定用户的所有权限:

REVOKE ALL PRIVILEGES, GRANT OPTION FROM user [, user] ...
FLUSH PRIVILEGES;
  

删除指定用户或用户的所有全局,数据库,表,列和例程权限

不确定是否有办法同时为所有用户执行此操作。

答案 1 :(得分:4)

REVOKE ALL PRIVILEGES ON *.* FROM '<user_name>'@'localhost';
REVOKE ALL PRIVILEGES ON *.* FROM '<user_name>'@'%';

例如:

REVOKE ALL PRIVILEGES ON *.* FROM 'jeffrey'@'localhost';
REVOKE ALL PRIVILEGES ON *.* FROM 'jeffrey'@'%';

答案 2 :(得分:0)

我想你可以这样做:

REVOKE ALL PRIVILEGES FROM '%'@'%';
FLUSH PRIVILEGES;

(不要直接修改MySQL表)

答案 3 :(得分:0)

REVOKE ALL PRIVILEGES FROM '%'@'%';

以上内容可能很危险,因为我认为它会删除所有用户的所有权限,包括root

将其修改为:

REVOKE ALL PRIVILEGES FROM 'user'@'localhost';

REVOKE ALL PRIVILEGES FROM 'user'@'%';

执行前

答案 4 :(得分:-3)

USE mysql; 
DELETE * FROM user;
FLUSH PRIVILEGES;

...将删除所有用户,包括root用户和您正在连接的任何用户,因此您可能希望添加WHERE子句。