Springboot项目连接报错:java.sql.SQLException: Access denied for user ‘root’@‘localhost’ (using password: YES)
按照别人的步骤构建了一个Springboot项目之后,也按照别人的application.yml文件把spring数据源文件配置了一下,然后别人的配置文件是这样的:
于是我也按照配置格式把自己数据库的信息填上去,
当我跟着点击运行之后却发现我的项目并没有和别人的一样运行起来,而是快乐地报了错:
好了,报错之后,我开始检查自己的用户名和密码,以及连接的后缀,但是并没有和别人的运行例子有任何的差别,于是在搜索解决方法的时候,我发现了这样一个新后缀:
只需要在库后面加上这行代码就OK
useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true
实际上,这些跟在数据库地址后面的后缀就是数据库的参数设置,根据不同版本和使用情况增加或作更改,想了一下然后我就没采用这个方法。
再找了一段时间之后,我发现了另一个大佬的方法,此处附上大佬博客的连接:
https://blog.csdn.net/u012862619/article/details/80482485
于是我把自己的数据库密码改了一下:
再次运行:
搞定!
总结:
正如大佬的博客所说的,application.yml
配置文件里面,字段是区分数据类型的,所以字段名如000000
、012340
、123450
之类,最后识别出来的是0
、1234
、12345
,所以是和你设置的本来的用户名、密码对不上的,最后报错。
解决方法:将你前后带0
的字段用" "
套上,如“000000”
,这样的字符串才能被正确识别。
一种解决方法对应一种情况,如果不是以上情况,请去寻找其他的解决方法吧。