SpringBoot mysql8 Access denied for user ‘root‘@‘localhost‘ (using password: YES)
摘要:MySQL连接错误"Access denied for user 'root'@'localhost'"常见原因包括:账号密码错误、服务未启动、JDBC配置问题、驱动版本不匹配等。特别需要注意5.7与8.0+版本在驱动类和Maven依赖上的差异。此外,在yml配置中,字符串值无需引号,但数值类型必须加双引号,这也是导致连接失败的易忽略点。
·
Access denied for user ‘root’@‘localhost’ (using password: YES)
这种错误是小儿科的错误,这次记录一下是因为遇到了不一样的问题,这个错误很容易遇到,其实就是数据库连不上。
可能原因:
- 1)用户名、密码错误
- 2)数据库服务没开,或者没启动成功(可以使用navicat等工具连接一下测试一下)
- 3)JDBC的URL连接上有错误
- 4)连接的数据库名字错误(这可能会报其他错误)
- 5)驱动名字不对,5.7版本的数据库的驱动是:
com.mysql.jdbc.Driver,8.0及以上版本的数据库的驱动是com.mysql.cj.jdbc.Driver(5.7之后就是8了,所以没有5.8) - 6)maven坐标问题:mysql8需要用8.0及以上的驱动,而且mysql8.0以上的驱动的maven坐标也和之前版本的不一样
5.7及以下版本的数据库用的maven坐标:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.49</version>
</dependency>
mysql8.0及以上的maven坐标:
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<version>8.1.0</version>
</dependency>
但我今天指的不是上面的问题,看下图:

对于yml文件,如果是字符串则不需要加上引号,但如果是数值类型则需要加上双引号。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)