我不小心锁定了MySQL的root权限

时间:2012-12-20 15:27:47

标签: mysql

我在OS X上玩MySQL,我使用DROP USER删除了所有'root'用户。然后我添加了一些并执行GRANT ALL on *.* to 'root'@'localhost';,然后在验证确实是,我可以登录并执行一些特权操作后退出。

不幸的是,我没有尝试的特权操作之一是GRANT ALL on *.*。事实证明,您没有获得使用GRANT ALL命令授予权限的权限。所以现在我被卡住了。我不能给任何人任何其他任何特权。

此时我在MySQL中实际上没有任何数据。我可以擦除安装并完成它。但我想解决这个问题,而不是采取这种极端。我该怎么做?

1 个答案:

答案 0 :(得分:9)

将以下内容放入文件中:

GRANT ALL ON *.* TO 'root'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;

使用--init-file选项重新启动mysqld指定该文件。