我不小心删除了 MySQL root 用户的大部分权限,包括授予权限的能力。有什么方法可以让这个用户恢复到原来的状态吗?
问问题
2658 次
1 回答
1
您可能仍然可以在数据库中UPDATE
对表进行操作:user
mysql
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 回答