mysql小心地撤销root权限

时间:2012-03-30 17:37:51

标签: mysql root privileges

我不小心做了一些有点愚蠢的事情并将其输入mysql控制台:

mysql> grant all on myDB.* to root@'%' identified by 'root';

...并且db配置对远程登录是开放的。现在我需要删除此授权,但不要意外地撤销我的root用户的所有权限,并有效地将自己锁定在数据库管理员之外。我该怎么办?

3 个答案:

答案 0 :(得分:4)

首先,确认您的root@localhost和/或root@127.0.0.1用户有权访问。

SHOW GRANTS FOR root@localhost;
SHOW GRANTS FOR root@127.0.0.1;

您应该在结果集中看到类似GRANT ALL PRIVILEGES ON *.* to...的行假设条目存在,您可以安全地从root@'%'数据库中删除mysql的授权:

REVOKE all on myDB.* from root@'%';
FLUSH PRIVILEGES;

假设您不希望root@'%'用户存在:

DROP USER root@'%';

答案 1 :(得分:0)

你可以做的一件事就是通过mysql.user来删除违规行,并刷新权限

答案 2 :(得分:0)

使用:

SHOW GRANTS FOR 'root'@'%';

查看root拥有的所有权限。

然后,删除特定权限:

REVOKE SELECT FROM root@'%'

这里有more