MySQL忘记密码无法登陆的解决方案

背景

       之前下了MySQL后配置完就因为考试暂时丢到一边了,最近想继续学习,发现把登录密码忘了。结果报错:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)。而网上关于改密码的方法也是多种多样,然而我却尝试了好几个才最终修改成功。谨以此分享一些经验给有相同经历的小伙伴。

PS:本机为win10系统,MySQL版本为 5.7.25,已经配置好了环境变量。

先说一下登入Mysql的方法,省略了几个复杂的方法。

方法一(简单,但本机失败)

附上一个其他博主的介绍:https://blog.csdn.net/qq_36675754/article/details/81381341

  1. 以管理员打开cmd 关闭MySQL服务
  2. 在c盘Programdata(默认隐藏)目录下找到MySQL的MySQLserver 5.7里的my.ini
  3. 在[mysqld]后添加 skip-grant-tables 并保存
  4. 以管理员启动MySQL  输入 mysql -uroot -p 不输密码直接回车
  5. 成功登入MySQL

方法二 (本机成功)

附上一个介绍:https://www.cnblogs.com/wxdblog/p/6864475.html

  1. 以管理员打开cmd 关闭MySQL服务
  2. 输入 mysqld -nt --skip-grant-tables
  3. 回车后发现光标一直在闪,说明成功了。
  4. 重新以管理员打开 cmd  输入 mysql -uroot -p 不输密码直接回车
  5. 成功登入MySQL

修改密码

登入MySQL后 ,依次输入以下语句:

MySQL> use MySQL;
MySQL> update user set authentication_string=password("123456") where user="root"; //这里把密码改成了123456
MySQL> flush privileges;

这时候密码就改为了123456。

Ps:在更早的版本中第二行可能要修改为:update user set password=password("123456") where user="root" ;

输入 exit ;退出MySQL后,再次mysql -uroot -p   回车后输入密码 123456 即可再次登陆!

 

 

你可能感兴趣的:(MySQL)