背景
之前下了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
- 以管理员打开cmd 关闭MySQL服务
- 在c盘Programdata(默认隐藏)目录下找到MySQL的MySQLserver 5.7里的my.ini
- 在[mysqld]后添加 skip-grant-tables 并保存
- 以管理员启动MySQL 输入 mysql -uroot -p 不输密码直接回车
- 成功登入MySQL
方法二 (本机成功)
附上一个介绍:https://www.cnblogs.com/wxdblog/p/6864475.html
- 以管理员打开cmd 关闭MySQL服务
- 输入 mysqld -nt --skip-grant-tables
- 回车后发现光标一直在闪,说明成功了。
- 重新以管理员打开 cmd 输入 mysql -uroot -p 不输密码直接回车
- 成功登入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 即可再次登陆!