java连接数据库失败:java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)

说一下我的情况:

  1、通过命令行的mysql -uroot -p输入密码可以登录(证明账号和密码正确)

  2、使用最基本的JDBC连接数据库也失败了,报同样的错误信息

尝试过

  1、清缓存(包括整个项目的缓存,重新打包发布),电脑和服务器重启了n遍

  2、连接mysql的url中增加编码格式:

jdbc_url=jdbc:mysql://127.0.0.1:3306/myDB?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull
jdbc_username=root
jdbc_password=123456

  3、检查jdbc_username和jdbc_password的值前后是否有空格(删除多余的空格)

  4、检查是否开启远程连接(已经开启)

  上面这几种方式,在我这里并没有产生效果。

自己尝试了一下

  重新修改了一下登录用户的权限,看是否有用:

grant all on myDB.* to 'root'@'%' identified by '123456'
# 用户名为root,密码为123456的用户,允许其从任意ip登录
# 并且授予该用户对myDB这个数据库下所有表的所有权限(增删改查)

  

  尝试了一下,有用,至少在我的机器上有效,不保证通用性。

猜你喜欢

转载自www.cnblogs.com/-beyond/p/10859781.html