SpringBoot中yml配置数据库的连接 Access denied for user ‘root‘@‘localhost但properties却成功

本文分享了在Spring Boot项目中使用YML配置文件连接MySQL数据库时遇到的常见错误及解决方法,特别是关于username和name字段混淆的问题,以及一些可能的解决方案。

使用properties配置可以成功,使用yml一直失败,郁闷了好久......

spring.datasource.initialization-mode=always
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/jdbc?serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=root
spring:
  datasource:
    username: root //最后发现问题是这里的username我再使用idea的提示时候选择了name ~~~
    password: root
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/jdbc?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC
    initialization-mode: always

我的原因最后找到是在编写yml文件的时候根据IDEA的自动补全提示选择了spring.datasource.name

而不是spring.datasource.username

不过寻求答案的时候也发现一些可能导致此系列的问题,解决办法一般是:

  1. 修改密码重启服务试试
  2. 如果密码是全数字类型,可以试试使用引号(单双均可)把密码引起来
  3. 如果你像我一样粗心,那就记住以后要仔细点......
根据提供的引用内容,你遇到了一个连接数据库的问题,错误信息是"Access denied for user 'root'@'localhost' (using password: YES)"。这个错误通常是由于用户名或密码不正确导致的。解决这个问题的方法有以下几种: 1. 确认用户名和密码是否正确:首先,你需要确认你的数据库用户名和密码是否正确。可以尝试使用正确的用户名和密码登录数据库,确保能够成功登录。 2. 检查数据库权限:如果用户名和密码正确,但仍然无法连接数据库,可能是因为该用户没有足够的权限访问数据库。你可以检查该用户是否具有正确的权限,例如是否具有连接数据库的权限。 3. 检查数据库连接配置:在你的Spring Boot项目中,你需要确保数据库连接配置正确。你可以检查你的application.properties或application.yml文件中的数据库连接配置,确保用户名、密码、数据库URL等信息正确。 4. 检查数据库驱动程序:确保你的项目中引入了正确的数据库驱动程序。根据引用中的配置,你需要使用com.mysql.cj.jdbc.Driver作为驱动程序。 5. 检查数据库服务是否正常运行:如果以上步骤都没有解决问题,你可以检查一下数据库服务是否正常运行。确保数据库服务已经启动,并且可以正常访问。 以下是一个示例的Spring Boot项目中连接MySQL数据库配置: ```yaml spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/mybatisplus?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8 username: root password: "0458" ``` 请注意,这只是一个示例配置,你需要根据你自己的数据库配置进行相应的修改。
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值