解决:Access denied for user ‘root‘@‘localhost‘ (using password: YES)

环境

IDE:idea

Bug描述

年假回来第一天,项目原封不动,运行时出错。错误代码如下:

2021-02-22 13:56:57.522 ERROR 6412 --- [  restartedMain] com.alibaba.druid.pool.DruidDataSource   : init datasource error, url: jdbc:mysql://localhost:3306/civicint_beta?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true

java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)

解决思路

百度之后,主要的原因有:

  1. mysql-connector-java的版本和mysql不一致,更改后仍不可用
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.22</version>
            <scope>runtime</scope>
        </dependency>

2.jar包未导入

之前项目可以正常运行,原因在这里的可能性不大。

进一步探究

之后打开多个项目,均会出现此问题。意识到这不是项目代码的原因。

检查idea连接数据库,发现连接不上报错:

The specified database user/password combination is rejected: 
[28000][1045] Access denied for user 'root'@'localhost' (using password: YES)

在这里插入图片描述
到这里知道是数据库连接的原因。

百度之后发现问题有两类:

  1. 在命令行界面登录时显示此错误,无法从命令行进入数据库。
  1. 远程访问或者idea登录时出现此错误。

很多博主都说是密码错误的问题,但是在命令行界面是可以通过密码正常登录的,只是在idea连接时出错,显然不是密码错误的原因。

还有博主说是未开启数据库的远程访问,但是开启后仍无效。

最后发现有博主说是3306端口被占用,右键停掉mysqlzt之后,问题解决。
在这里插入图片描述

思考

这个bug前前后后花了四五个小时的时间,很多时候在钻牛角尖,在同样的问题上用同样的方法去解决,期待图灵显灵,重启idea,重启电脑,玄学解决问题。今后遇到bug同样的方法试了三四次,应该换种方法,或者问一下自己,真正的bug真的在这里吗?少做些无用功,方法比一股脑的往前冲更重要。

参考:

bug解决:Access denied for user 'root'@'localhost' (using password:YES)

MySQL数据库远程访问权限如何打开(两种方法)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值