MySQL连接报错:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)

之前过MySQL数据库,当时设置的初始密码为123456。后来因为暂时不需要使用,所以直接把MySQL服务给关了。期间是否修改过密码我已经记不清了。

最近有需要再次使用MySQL,因此尝试用Navicat for MySQL连接原有服务,结果连接不上。具体报错信息当时没存。

尝试使用命令行连接,输入 mysql -u root -p。结果报错:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

昨天晚上反复尝试,甚至将原有的MySQL80服务删除再生成,都没有解决问题。

今天早上重新思考。

 

通过阅读这篇教程https://www.cnblogs.com/zhongyehai/p/10695334.html,我了解到,该报错的主要原因是我输入的密码错误。

而后通过这篇教程https://blog.csdn.net/Programmer_FuQiang/article/details/97271896,终于成功连接。

主要操作步骤:

  1. 到mysql server的安装目录下,把data文件删掉。(我最开始看的时候,我的对应目录下根本没有data文件,也是很奇怪)
  2. 在管理员权限下运行cmd命令窗口,执行 mysqld --initialize --console 命令。如果该命令正确执行,没有报错,会回复你一个密码初始值。
  3. 输入 net start MySQL80 启动 MySQL80服务(这个服务是我一开始创建的,好像大部分人的服务名为mysql,我这里是MySQL80)
  4. 然后输入 mysql -u root -p,密码就输入第2步执行命令后产生的密码。(注意密码左右没有空格)
  5. 在mysql> 命令行下,输入 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';  (一定要有;符号),修改密码
  6. 通过 show databases; 可以看到当前服务器中的 数据库。

主要几个坑:

  • 我的MySQL装在C盘中,对它进行修改要提供管理员权限,所以cmd也必须是在管理员权限下运行。
  • 之前不知道为什么,即使开了管理员权限,对data文件夹的修改也执行不成功。反正昨天晚上一通折腾之后我是重启了一下电脑。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值