mysql1045_mysql ERROR 1045 (28000): 错误解决办法

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

基于windows,遇到则记下了,给出解决方法:如下

1:找到配置文件my.ini,之前一直用的是mysql5.5,my.ini就是在MySQL Server5.5下,如图:

06259b835af9dc83b08df41a912a0d36.png

现在我的mysql版本是5.7,则需要在安装磁盘上勾选隐藏的项目:如图:

fc317c8cd1dd6617a36382cb604c5f85.png

进入ProgramData中-->MySQL-->MySQL Server 5.7,如图显示的my文件:(需要注意的是备份下配置文件,防止修改错误无法还原)

a94a6f2c31f190e72805a2c82cbd012c.png

然后打开my,找到[mysqld],在[mysqld]下输入“skip-grant-tables”,如图:

21459ffb417a293b8aac9b8bad6002c7.png

然后保存关闭。

2:win+R输入“services.msc”进入服务

b7282564f8000c352335aefde9911bc4.png

找到mysql的服务,我的名字是默认“MySQL57”,然后重启改服务:

963129e596933a3388a094a90ef51f10.png

3:重启完成之后运行cmd,输入mysql -uroot -p回车就行,提示你输入密码直接回车就能进入:如图(直接输入需要配置好path路径,如果重启失败,记得之前备份的my文件)

de38813a21dd3c67df235a2d6bf25e01.png

4:这时候进入到“mysql”这个库;如图:

3cf7ae89889dba8b28aab248061896ae.png

5:给root用户设置新密码:如图:(新版本的语句是update user set authentication_string=password("123456") where user="root";  老版本的是update user set password=password("123456") where user="root";  新版本把password变成了authentication_string,如果在新版本中使用后面的sql则报 Unknown column 'password' in 'field list' 错,千万注意,密码用户随意,能记住就行):

22d2c71e55905ff72ba88485e68685f6.png

6:刷新数据库,命令:flush privileges;

53528571cb391bc3c959aee49fd656da.png

7:退出mysql,不建议直接退出,使用exit命令即可

0339ef38fadb680016b2aebb589a67ea.png

8:一切完事之后,再修改之前的my文件,把刚才我们加入的“skip-grant-tables”删除,保存退出后再重启mysql服务即可,再次登录输入密码就没有问题了:

8885eb07e7f36a48b9ca41a68442aaca.png

至此,解决了问题,其实也可以不用修改配置文件,可以在登录的时候直接跳过密码登录的,效果是一样的,在这就不赘述了,有什么不对的欢迎指正

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值