MySQL8.0无其他超级用户时如何恢复root账号的全部管理权限
WAMP环境MySQL 8.0.25 root用户全权限恢复操作步骤
前置操作:停止MySQL服务
- 点击系统托盘WAMP图标,依次选择「MySQL」→「Service」→「Stop Service」,停止当前运行的MySQL进程
步骤1:修改MySQL配置跳过权限校验
- 进入WAMP安装目录下的
bin\mysql\mysql8.0.25\路径,找到配置文件my.ini - 用文本编辑器打开
my.ini,定位到[mysqld]配置段,新增两行配置:
skip-grant-tables skip-networking
- 补充说明:
skip-grant-tables会跳过权限表校验允许无密码登录,skip-networking会禁用远程连接避免操作过程中出现安全风险
步骤2:无密码登录MySQL修改权限
- 点击WAMP托盘图标,依次选择「MySQL」→「Service」→「Start Service」,重启MySQL服务
- 打开系统命令提示符,进入MySQL的bin目录,执行命令直接登录root用户:
mysql -u root - 登录成功后先刷新权限,确保权限表可修改:
FLUSH PRIVILEGES; - 执行权限授予命令,恢复root用户的全部权限:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION; - 如果同时遗忘了root密码,可额外执行以下命令重置密码(把
你的密码替换为实际使用的密码即可):ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码'; - 执行完成后退出MySQL命令行:
EXIT;
步骤3:恢复配置并验证权限
- 再次打开
my.ini配置文件,删除之前新增的skip-grant-tables和skip-networking两行配置 - 重启MySQL服务,使用root账号登录,执行
SHOW GRANTS FOR 'root'@'localhost';验证权限是否恢复正常
注意事项
- 操作全程不要对外暴露MySQL服务端口,避免未授权访问
- 必须删除
skip-grant-tables配置后再正常使用MySQL,否则所有用户都可以无密码访问数据库,存在极高安全风险
内容的提问来源于stack exchange,提问作者Mahmoud Diab
相关产品推荐
相关产品推荐

