MySQL密码忘记了,怎么改
第 1 步:以管理员身份打开 CMD
- 键盘按
Win键,输入cmd - 看到「命令提示符」→右键 → 选「以管理员身份运行」
一定要管理员,不然后面会报错。
第 2 步:停掉 MySQL 服务
net stop MySQL80
如果提示"服务名无效",说明他这台电脑的 MySQL 服务名不叫 MySQL80。
那就先输入
services.msc打开服务列表,找带"MySQL"字样的服务名,比如MySQL57,然后改成对应的名字。
看到"服务已成功停止"就对了。
第 3 步:跳过密码验证启动 MySQL
cd "C:\Program Files\MySQL\MySQL Server 8.0\bin" 回车
mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" --skip-grant-tables --shared-memory --console 回车
然后你会看到一大堆英文刷屏,最后停住不动了。
✅这就对了!这个窗口不要关,不要关,不要关。
第 4 步:新开一个 CMD 窗口,免密登录
- 再右键开始菜单 →命令提示符(管理员) → 打开第二个黑窗口
- 在里面输入:
cd "C:\Program Files\MySQL\MySQL Server 8.0\bin" 回车
mysql -u root 回车
看到mysql>这个提示符就说明进去了(不用输密码,直接就进来了)。
第 5 步:改密码
在mysql>后面,一行一行复制粘贴(每行粘贴完按回车):
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;
exit;
密码我这里写的
123456,你可以换成别的。但注意 MySQL 8 要求密码不能太简单,如果123456报错,换成NewPass123!这种带大写字母+数字+特殊符号的。
看到Query OK就说明改成功了。
第 6 步:恢复正常
- 回到第 3 步那个刷屏的窗口,按
Ctrl + C,然后输入Y回车 - 然后在第 4 步的窗口里输入:
net start MySQL80
看到"服务已成功启动"就全部搞定了。
验证一下
在同一个窗口输入:
mysql -u root -p
提示输入密码时,输入你刚设的密码(123456或NewPass123!),能进去就说明一切正常 ✅