springboot:拒绝用户“root”@“localhost”的访问(使用密码:yes)

jvidinwx  于 2021-07-13  发布在  Java
关注(0)|答案(1)|浏览(537)

尝试使用以下配置连接到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
    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: Access denied for user 'root'@'localhost' (using password: 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

但我现在很困惑,为什么我发布的第一段代码不起作用。

ddrv8njm

ddrv8njm1#

经过几个小时的搜索,终于找到了问题所在:
如果密码仅由数字组成,则在yml文件中定义密码的正确方法应为:

password: '01021234'

相关问题