MySQL忘记密码重置密码
解决过程参考作者的文章
https://blog.youkuaiyun.com/Huanzhi_Lin/article/details/121731057
-
打开任务管理器,WIN+X或者在任务栏右键选择“任务管理器”;进入任务管理器。
-
在任务管理器中,点击左边的服务,查询框输入mysql找到该服务。
-
先右击,停止该服务。
-
然后,右击选择“打开服务”,跳转到服务栏,找到MySQL的服务,右击,打开属性。
-
在属性中找到MySQL的bin目录,可以先复制,保存下来,等会儿有用。
C:\Program Files\MySQL\MySQL Server 8.0\bin
-
在文件夹中找到MySQL的my.ini文件,这个ProgramData文件夹一般是隐藏的,注意显示出来才看得到。把这个my.ini文件复制粘贴到桌面(可以复制两个,留一个备份),
-
然后,把桌面这个my.ini,右击点击编辑。
-
找到这个[mysql] no-beep(大概在63行的位置),在中间加入这句 skip-grant-tables。修改好之后保存。再把这个修改好后的my.ini文件,复制到第6步中
C:\ProgramData\MySQL\MySQL Server 8.0 这个文件夹下,替换掉原本的my.ini文件。
-
用管理员权限,打开命令提示符。
-
在命令提示符中输入(这里需要用到第5步的bin路径)
cd C:\Program Files\MySQL\MySQL Server 8.0\bin
输入后,回车,就会进入到C:\Program Files\MySQL\MySQL Server 8.0\bin目录
-
然后,复制以下这段,粘贴到bin>后面去执行。(如果你的my.ini不是这个路径就按照自己的修改)
mysqld --defaults-file=“C:\ProgramData\MySQL\MySQL Server 8.0\my.ini” --console --skip-grant-tables --shared-memory
输入这段话后,回车执行,如下图所示,
-
如第11步所示没有问题,那么我们可以另外再以管理员权限打开一个命令提示符号,
-
同样在命令提示符中输入(这里需要用到第5步的bin路径)
cd C:\Program Files\MySQL\MySQL Server 8.0\bin
输入后,回车,就会进入到C:\Program Files\MySQL\MySQL Server 8.0\bin目录
-
输入 mysql -uroot -p
然后回车执行,会显示Password:字样,再按一下回车,如下图所示:
-
此时应该进入了MySQL的执行状态,如下图所示,会有Welcome字样,同时命令行出现mysql>
-
在mysql> 后面输入 ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘123456’;
按下回车执行,就可以将密码修改为123456。请注意每一条mysql的执行语句,必须以英文的;结束。
如果出现Query OK 字样,那么证明密码已经修改成新的密码123456了。
如果没有出现Query OK字样,那么在mysql> 后面输入 flush privileges;
注意要把分号;也输入,然后按下回车。
再重新输入一次ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘123456’;
出现Query OK 字样就完成了密码的修改了。 -
最后,回到桌面的my.ini文件,把原本修改的那行,加#注释掉,让它不要起作用,保存,再把这个文件复制替换掉C:\ProgramData\MySQL\MySQL Server 8.0 这个文件夹下my.ini文件。
-
然后打开第4步中的服务,右击选择启动,启动mysql服务即可。启动成功后,该状态显示为正在运行。
-
到此,结束重置密码。
-
优快云可以参考该作者的操作。
https://blog.youkuaiyun.com/Huanzhi_Lin/article/details/121731057