微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Spring 应用程序拒绝使用指定的用户名连接到我的 MySql 数据库

如何解决Spring 应用程序拒绝使用指定的用户名连接到我的 MySql 数据库

我遇到了一些奇怪的情况。当我使用应用程序文件启动 Spring Boot 应用程序时:

spring:
  jpa:
    show-sql: true
    databasePlatform: org.hibernate.dialect.MysqL5InnoDBDialect
    hibernate:
      ddl-auto: update
      connection:
        charSet: UTF-8
        characterEncoding: UTF-8
        useUnicode: true
  datasource:
    driverClassName: com.MysqL.cj.jdbc.Driver
    url: jdbc:MysqL://localhost:3306/deutschlerner_db?serverTimezone=UTC
    username: root
    password: root

我收到错误

java.sql.sqlException: Access denied for user 'mihailzubarev'@'localhost' (using password: YES)

"mihailzubarev" - 只是我的 linux 配置文件名称MysqL 没有那个用户名但有“root”用户。 这个错误我可以重现,只需在终端 MysqL -p 中输入它接受认的 linux 配置文件用户名并预期会丢弃相同的错误。但是我在我的应用程序文件中指定了用户名!!! 此外,可以通过在 SpringBottApplication 文件中定义一个 Bean 来连接数据库,一切正常

    @Bean
    public DataSource getDataSource() {
        DataSourceBuilder dataSourceBuilder = DataSourceBuilder.create();
        dataSourceBuilder.url("jdbc:MysqL://localhost:3306/deutschlerner_db?serverTimezone=UTC");
        dataSourceBuilder.username("root");
        dataSourceBuilder.password("root");
        return dataSourceBuilder.build();
    }

解决方法

我得到了覆盖用户名值的环境变量

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。