概述
本文参考:Mysql8.0以上重置初始密码的方法_mysql8.0密码重置-CSDN博客,对步骤中可能遇到的服务名无效, 无法进入bin目录, 无法跳过Mysql的密码登录等问题进行补充, 对新手小白非常友好!
1. 确认MySQL服务名及安装路径
按下
Win + R
输入services.msc
并点击确定,找到 MySQL 相关的服务,查看服务名及MySQL安装路径.
以我的为例:
"S:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe" --defaults-file="S:\Data\MySQL\MySQL Server 8.0\my.ini" MySQL80
bin目录:S:\Program Files\MySQL\MySQL Server 8.0\bin (确保bin目录已添加到环境变量)
数据存储路径: "S:\Data\MySQL\MySQL Server 8.0\my.ini" (默认在C盘, 如果my.ini存储路径修改过,需要记下该路径, 后续会用到)
编辑系统环境变量, 检查上述bin目录是否在系统变量Path中, 没有的话添加进去.
2. 关闭MySQL服务及跳过MySQL密码验证
以管理员身份运行cmd (否则会报错: net stop mysql发生系统错误5)
1.先进入磁盘
S:
2.进入MySQL bin目录
cd S:\Program Files\MySQL\MySQL Server 8.0\bin
3.关闭Mysql服务,注意使用自己的服务名
net stop mysql80
4.跳过Mysql的密码登录,默认命令:
mysqld --console --skip-grant-tables --shared-memory
如果my.ini 路径修改过:
mysqld --defaults-file="S:\Data\MySQL\MySQL Server 8.0\my.ini" --console --skip-grant-tables --shared-memory
3. 进入MySQL并消除密码
上述窗口不关闭, 打开一个新的管理员cmd, 进入mysql下的bin目录, 操作以下命令:
1.进入mysql
mysql -u root -p
到输入密码时,直接回车
2.使用mysql数据表(以下命令注意要以;结尾)
use mysql;
3.将密码置为空
update user set authentication_string='' where user='root';
4.退出Mysql
quit;
4. 更改登录密码
关闭第一个cmd窗口(一定要关闭!), 在第二个窗口中接着输入以下命令:
1.关闭mysql服务(保险措施)
net stop mysql80
2.打开mysql服务
net start mysql80
(这里不要嫌麻烦,如果上一个mysql服务没关闭,我们依旧是无密码登陆)3.进入mysql
mysql -u root -p
到输入密码时,还是直接回车4.更改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
5.退出mysql
quit;
修改成功 !!! 该步骤亲测简单易懂, 大家如果有其他可优化之处, 欢迎在评论区补充哦!