我不小心做了一件有点儿蠢的事情,把下面这个内容输入到了mysql控制台:
mysql> grant all on myDB.* to root@'%' identified by 'root';
...并且数据库配置开放远程登录。现在我需要删除此授权,但不想意外地撤销我的根用户的所有权限,并有效地将自己锁定为数据库管理员。我该怎么办?
我不小心做了一件有点儿蠢的事情,把下面这个内容输入到了mysql控制台:
mysql> grant all on myDB.* to root@'%' identified by 'root';
...并且数据库配置开放远程登录。现在我需要删除此授权,但不想意外地撤销我的根用户的所有权限,并有效地将自己锁定为数据库管理员。我该怎么办?
首先,请验证您的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@'%';
你可以通过访问mysql.user仅删除有问题的行,并刷新权限。