以下是针对 MySQL 8.0 的重置密码步骤:
主要是利用mysql跳过权限检查方式来运行,清空root用户的密码;再使用空密码登录root,去alter一个新密码;
1. 停止 MySQL 服务
- 打开命令提示符(以管理员身份运行);
- 停止 MySQL 服务:cmd net stop MySQL80
(注意:MySQL80 是 MySQL 8.0 的默认服务名称,如果你的服务名称不同,请替换为正确的名称)
2. 启动 MySQL 并跳过权限检查
- 打开命令提示符(以管理员身份运行);
- 使用以下命令启动 MySQL 并跳过权限检查:cmd mysqld --skip-grant-tables --shared-memory
此时 MySQL 会以跳过权限验证的方式运行;
3. 以 root 用户登录 MySQL
- 打开一个新的命令提示符窗口(以管理员身份运行);
- 输入以下命令登录 MySQL(无需密码):cmd mysql -u root
4. 清空 root 用户的密码
- 在 MySQL 命令行中,切换到
mysql数据库:sql复制USE mysql; - 清空
root用户的密码:sql UPDATE user SET authentication_string='' WHERE User='root';
这将清空root用户的密码; - 刷新权限:sql FLUSH PRIVILEGES;
- 退出 MySQL:sql EXIT;
5. 停止 MySQL 并重新启动服务
- 在运行
mysqld --skip-grant-tables的命令提示符窗口中,按Ctrl + C停止 MySQL; - 重新启动 MySQL 服务:cmd net start MySQL80
6. 使用空密码登录并设置新密码
- 打开命令提示符,使用以下命令登录 MySQL(此时密码为空):cmd mysql -u root
- 设置新密码:sql ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
例如:sql ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPassword'; - 刷新权限:sql FLUSH PRIVILEGES;
- 退出 MySQL:sql EXIT;
7. 使用新密码登录 MySQL
- 打开命令提示符,使用以下命令登录 MySQL:cmd mysql -u root -p
- 输入你设置的新密码即可登录;
👍