0

我不小心删除了 MySQL root 用户的大部分权限,包括授予权限的能力。有什么方法可以让这个用户恢复到原来的状态吗?

4

1 回答 1

1

您可能仍然可以在数据库中UPDATE对表进行操作:usermysql

USE mysql;
UPDATE user SET Grant_priv='1' WHERE User='root';
FLUSH PRIVILEGES;

如果第 3 步不起作用,重新启动 MySQL 服务器将具有相同的效果。如果第 2 步不起作用,则需要mysql.user从备份中恢复。如果您没有备份,请进行备份,重新安装 MySQL,然后有选择地恢复您的备份,保留mysql数据库中的表。

更新

在第一步中,您会收到拒绝访问。此时,您可以使用备份的替代解决方案。没有办法(我知道或很容易想象)您正在以任何其他方式恢复这些表。

更新 2

确切的错误消息基本上是说,除了失去 root 的grant权限之外,您还放弃了 root 对mysql数据库的访问权限。在无法访问该数据库且没有grant特权的情况下,我能看到的唯一方法是以某种方式获取mysql数据库的新副本。

你有没有机会设置一个复制从属?

于 2009-11-01T20:46:20.353 回答