Spring 应用程序拒绝使用指定的用户名连接到我的 MySql 数据库
Spring application refuses to connect to my MySql database with specified username
我遇到了一些奇怪的情况。当我使用应用程序文件启动 spring 启动应用程序时:
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();
}
我得到覆盖用户名值的环境变量
我遇到了一些奇怪的情况。当我使用应用程序文件启动 spring 启动应用程序时:
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();
}
我得到覆盖用户名值的环境变量