谨慎撤销MySQL的root权限

4

我不小心做了一件有点儿蠢的事情,把下面这个内容输入到了mysql控制台:

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

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

3个回答

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...的行。假设该条目存在,您可以安全地从mysql数据库中删除root@'%'的授权:
REVOKE all on myDB.* from root@'%';
FLUSH PRIVILEGES;

假设您也不希望存在root@'%'用户:
DROP USER root@'%';

0

使用:

SHOW GRANTS FOR 'root'@'%';

查看 root 的所有权限。

然后,要删除特定的权限:

REVOKE SELECT FROM root@'%'

这里还有更多信息。


-1

你可以通过访问mysql.user仅删除有问题的行,并刷新权限。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接