解决java连接本地mysql,报Access denied for user 'root '@'localhost' (using password: YES)的问题

今天遇到一个坑,刚爬出来,填上以惠及他人。


在项目中,连接数据库的时候,报了下面的异常

### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: Access denied for user 'root  '@'localhost' (using password: YES)] with root cause
java.sql.SQLException: Access denied for user 'root  '@'localhost' (using password: YES)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1094)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4226)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4158)

        ......


百度这个错误,网上有很多关于修改mysql密码的,还有修改权限的;

但是对我并不适用,我之所以没有照着改,原因有二:

一是因为我安装mysql的时候,就已经可以用root用户名和root密码登陆成功了。

二是因为我本地已经用jdbc连接过mysql,也成功了。

所以现在在项目中连不上,肯定不是数据库密码或权限的问题。(也希望大家不要搜索问题之后盲目跟着修改,还是应该先仔细分析一下,别人的方法 对你适不适用

经过仔细研究,发现了——

在我的jdbc.properties配置文件中,jdbc.username一行最后有两个空格!!!


其实,仔细一点分析报错信息的话,也应该能看出来的,Access denied for user 'root  '@'localhost' ,这句里面的root后面其实是有两个空格的。

总结:properties配置文件,单行末尾千万不要有空格!

猜你喜欢

转载自blog.csdn.net/qq_33236248/article/details/80094807