忘记 MySQL 密码不用慌张,这是非常常见的问题。只要你能接触到服务器(本地 Windows),通过跳过权限验证的方式即可轻松重置。

1、停止 MySQL 服务
按下 Win + R,输入 cmd,右键选择"以管理员身份运行"
bash
net stop MySQL80
2、以"跳过权限"模式启动
在同一个管理员命令提示符窗口中,切换到 MySQL 的 bin 目录(根据你的安装版本修改路径)
bash
cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"
执行以下命令启动 MySQL
bash
mysqld --console --skip-grant-tables --shared-memory
3、免密登录并重置密码
新打开一个"管理员身份运行"的命令提示符窗口。同样切换到 bin 目录
bash
cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"
输入以下命令直接登录(不需要输入密码,直接回车)
bash
mysql -u root
进入 MySQL 命令行后,请根据你的版本执行对应的 SQL 语句(注意分号结尾)
| 适用版本 | 操作步骤与命令 |
|---|---|
| MySQL 8.0+ (主流版本) | 1. 刷新权限(必须先执行这一步): FLUSH PRIVILEGES; 2. 修改密码(将 NewPassword123! 换成你的新密码): ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword123!'; |
| MySQL 5.7 (旧版本) | 1. 直接使用 UPDATE 语句修改: UPDATE mysql.user SET authentication_string=PASSWORD('NewPassword123!') WHERE User='root'; 2. 刷新权限: FLUSH PRIVILEGES; |
4、恢复正常服务
在 MySQL 命令行输入 exit 退出。
回到第二步中那个卡住的窗口,按下 Ctrl + C 强制停止进程,或者直接关闭窗口。
用管理员打开运行提示符窗口重启 MySQL 服务:
bash
net start MySQL80
现在你可以使用新密码登录了:mysql -u root -p