来源:http://dev.mysql.com/doc/refman/5.0/en/drop-database.html
当删除数据库时,用户对该数据库的权限不会自动删除。
因此问题就变成了,如何撤销MySQL数据库上所有用户的所有权限?我想这很简单,但我很惊讶我没有在任何地方找到这个答案。
来源:http://dev.mysql.com/doc/refman/5.0/en/drop-database.html
当删除数据库时,用户对该数据库的权限不会自动删除。
因此问题就变成了,如何撤销MySQL数据库上所有用户的所有权限?我想这很简单,但我很惊讶我没有在任何地方找到这个答案。
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'@'%';
您可以使用这个语法为特定用户撤销所有权限:
REVOKE ALL PRIVILEGES, GRANT OPTION FROM user [, user] ...
FLUSH PRIVILEGES;
该命令将删除指定用户或多个用户的所有全局、数据库、表、列和例程权限。
不确定是否有一种同时对所有用户执行此操作的方法。
revoke all, with grant on $dbs.* from 'user'\@'localhost'
。有线索吗? - IliaREVOKE ALL PRIVILEGES FROM '%'@'%';
以上的操作可能很危险,因为我猜它会删除所有用户的权限,包括root用户。
将其修改为:
REVOKE ALL PRIVILEGES FROM 'user'@'localhost';
或者
REVOKE ALL PRIVILEGES FROM 'user'@'%';
执行前
我想你可以这样做:
REVOKE ALL PRIVILEGES FROM '%'@'%';
FLUSH PRIVILEGES;
(不要直接修改MySQL表)
revoke
命令。 - ryanprayogo