【发布时间】:2010-12-12 02:37:42
【问题描述】:
我不小心删除了 MySQL root 用户的大部分权限,包括授予权限的能力。有什么方法可以让这个用户恢复到原来的状态吗?
【问题讨论】:
我不小心删除了 MySQL root 用户的大部分权限,包括授予权限的能力。有什么方法可以让这个用户恢复到原来的状态吗?
【问题讨论】:
您仍然可以在数据库mysql 中的表user 上执行UPDATE:
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 DB 的访问权限。如果无法访问该数据库并且没有grant 权限,我能看到的唯一方法就是以某种方式获取mysql 数据库的新副本。
你有没有机会设置一个复制从属?
【讨论】: