mysql5.7 1045 28000_mysql5.7.17忘记root密码如何解决(mysql ERROR 1045 (28000): 的解决办法)...

使用的是mysql5.7.17解压版,win7 64位系统。本教程的前提是能启动MySQL服务,但是旧密码已经不能登录,需要强制修改密码。

1.修改配置文件my.ini,可以选择用记事本打开

1f0dc341c3b02323c96732338eff76e9.png

my.ini是自己拷贝了my-default.ini后重命名的。

2.打开后,搜索mysqld关键字

找到后,在mysqld下面添加skip-grant-tables,保存退出。

PS:若提示不让保存时,可以将该文件剪切到桌面,更改保存后再复制到mySQL目录下

4987458235730cedb58560645156b2d1.png

配置什么的可以不用去修改(现在是因为各种原因忘记root密码,或是MySQL服务启动不了,删除data文件夹后,重现出事后MySQL导致旧密码失效。要解决的是这个问题。)

保证添加了这一行就行。

重启MySQL服务,推荐的是用

b79430f90783d776104b25b8e2ed753e.png

(也可以像有的教程一样,在cmd用命令行的方式去重启,可能会遇到MySQL

服务无法启动的情况。)此时,如果MySQL服务启动不了,不要着急,重启windows系统就行。

3.运行cmd,输入mysql -u root -p

这时候提示你输入密码,直接回车就可以进入。

9f6a16e7eb03da5275c8f9c1bf5a75d2.png

1.进入mysql数据库:

mysql> use mysql;

提示Database changed

2.给root用户设置新密码,蓝色部分自己输入:mysql> update user set password=password("123456") where user="root";

(注意5.7.1的MySQL的user表中已经没有passwrod了,此时会提示

c4c76128383c13331d070fb0b82dd5d9.png

),新本的mysql的user表中的password字段已经改成了authentication_string 字段了。

这时候,需要输入的命令是update user set authentication_string = password("123456") where user="root" ;

提示Query OK, 1 rows affected (0.04 sec)Rows matched: 1 Changed: 1 Warnings: 0

3.刷新数据库mysql> flush privileges;

提示Query OK, 0 rows affected (0.01 sec)

4.退出mysql:mysql> quit

提示Bye

PS:123456为新密码,用户可根据自己需要修改成自己的密码

另外:

如果想查看一下5.7.1修改密码之前存的旧密码:输入命令:select host,user,authentication_string from user;

a99caccb670bc368b43754aa7f09f302.png

这是加密后的密码。

如果想查看user表存的是什么,可以输入命令:describe user;

看到是就会是这样:

1f86563a01ff1fe63f1336e59f94dd43.png

图没有截完,大家可以自己去试一下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值