首页/数据/数据库速查/忘记 root 密码:跳过授权表救援

忘记 root 密码:跳过授权表救援

极端手段:临时以 --skip-grant-tables 启动改密码,改完立即恢复;仅限本地救援,且必须断开网络暴露面。

数据库速查数据更新于 2026-10-12
用途root 密码丢失救援
关键参数--skip-grant-tables --skip-networking
收尾flush privileges 后恢复正常启动

救援流程(8.0)

救援流程(8.0)
systemctl stop mysqld
mysqld_safe --skip-grant-tables --skip-networking &
mysql -uroot
# mysql> FLUSH PRIVILEGES;
# mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewStr0ng#Pass';
# mysql> exit
mysqladmin -uroot -p shutdown
systemctl start mysqld
--skip-grant-tables 期间任何人可无密码登录,务必加 --skip-networking 只允许本机 socket 操作。

易错点

  • 8.0 下跳过授权表后要先 FLUSH PRIVILEGES 才能执行 ALTER USER
  • 救援完成必须恢复标准启动方式,否则安全防线全面失守

数据来源与参考

  • MySQL 8.0 Reference Manual: How to Reset the Root Password

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌