一、适用场景
-
忘记 MySQL root 密码
-
主流版本:MySQL 5.7 / 8.0
-
操作身份:系统管理员(普通用户见文末)
二、核心步骤(以管理员身份操作)
1. 停止 MySQL 服务
-
按
Win+R输入cmd,右键 “命令提示符” 选 “以管理员身份运行” -
执行命令(服务名通常为 MySQL80/MySQL57,不确定可跳过直接试):
net stop MySQL80 # 8.0版本用这个,5.7换为net stop MySQL57
2. 安全模式启动 MySQL
- 在刚才的命令行窗口,执行启动命令(分版本):
- MySQL 8.0:
mysqld --console --skip-grant-tables --shared-memory
- MySQL 5.7:
mysqld --skip-grant-tables
- 执行后窗口会显示启动信息,不要关闭此窗口。
3. 无密码登录并改密码
-
新打开一个 “管理员命令提示符”
-
切换到 MySQL 的 bin 目录(默认路径参考,按实际安装路径改):
cd C:\Program Files\MySQL\MySQL Server 8.0\bin # 8.0版本;5.7换为MySQL Server 5.7
- 无密码登录:
mysql -u root
- 改密码(替换
new_password为你的新密码,分版本):
- MySQL 8.0:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new\_password';
FLUSH PRIVILEGES;
- MySQL 5.7:
UPDATE mysql.user SET authentication\_string=PASSWORD('new\_password') WHERE User='root' AND Host='localhost';
FLUSH PRIVILEGES;
- 输入
exit退出 MySQL。
4. 恢复正常服务
-
回到第一步启动安全模式的窗口,按
Ctrl+C停止进程 -
执行命令重启 MySQL:
net start MySQL80 # 8.0版本;5.7换为net start MySQL57
- 验证:执行
mysql -u root -p,输入新密码,能登录即成功。
三、普通用户改自己密码(记得原密码时)
- 打开命令提示符,登录:
mysql -u 你的用户名 -p # 输入原密码
- 执行改密码命令(替换
你的用户名和新密码):
ALTER USER '你的用户名'@'localhost' IDENTIFIED BY '新密码';
FLUSH PRIVILEGES;
四、常见问题解决
-
服务停不了:打开 “任务管理器”→“服务”,找到 MySQL 服务右键 “停止”
-
改密码报错:先执行
FLUSH PRIVILEGES;再重试 -
登录提示 “认证协议不支持”(8.0 版本):改密码时加认证方式:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql\_native\_password BY 'new\_password';
1646

被折叠的 条评论
为什么被折叠?



