Java Springboot:拒绝用户访问';根'@';本地主机';(使用密码:是)
正在尝试使用以下配置连接到springboot中的mysql数据库:Java Springboot:拒绝用户访问';根'@';本地主机';(使用密码:是),java,mysql,spring,spring-boot,Java,Mysql,Spring,Spring Boot,正在尝试使用以下配置连接到springboot中的mysql数据库: spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/community?Unicode=true&characterEncoding=UTF-8&serverTimezone=America/Boston username: root
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/community?Unicode=true&characterEncoding=UTF-8&serverTimezone=America/Boston
username: root
password: 01021234
hikari:
pool-name: DateHikariCP
minimum-idle: 5
idle-timeout: 180000
maximum-pool-size: 10
auto-commit: true
max-lifetime: 1800000
connection-timeout: 30000
connection-test-query: SELECT 1
它给了我一个异常java.sql.SQLException:user'root'@'localhost(使用密码:YES)的访问被拒绝
奇怪的是,我有另一个项目,我使用几乎相同的配置,但它工作正常,没有任何错误:
# DataSourceProperties
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/community?characterEncoding=utf-8&useSSL=false&serverTimezone=America/Boston
spring.datasource.username=root
spring.datasource.password=01021234
spring.datasource.type=com.zaxxer.hikari.HikariDataSource
spring.datasource.hikari.maximum-pool-size=15
spring.datasource.hikari.minimum-idle=5
spring.datasource.hikari.idle-timeout=30000
我尝试将url更改为以下内容,现在它正在工作:
url: jdbc:mysql://localhost:3306/community?user=root&password=01021234&Unicode=true&characterEncoding=UTF-8&serverTimezone=America/Chicago
但我现在很困惑,为什么我发布的第一段代码不起作用。经过几个小时的搜索,终于找到了问题所在:
如果密码仅由数字组成,则在yml文件中定义密码的正确方法应为:
password: '01021234'
您是否尝试将URL“原样”从其工作的属性文件复制到yaml?Spring boot应该能够以通常相同的方式处理yaml和属性。我的想法是了解这个问题是否与spring boot有关(如果它不起作用的话),或者我们正在讨论mysqlYes的连接参数的意义。我确实尝试过,但它仍然不起作用。