Spring Boot和MySql - 无法使用新的服务数据库用户名/密码

问题描述 投票:0回答:1

如何更改数据库用户密码以便Spring Boot应用程序仍可以使用数据库?环境是Docker和Jenkins。

将密码从“password1”更改为“password2”不起作用。 Sprint Boot应用程序无法连接到(MySql)数据库。错误是:由于无效的用户凭据而无法连接。

我的环境包括:

1 - 我的docker-compose.yml我有:

services:
  xyzdb:
    image: mysql:8.0.12
    environment:
      - MYSQL_ROOT_PASSWORD=admin
      - MYSQL_DATABASE=geosoldatabase
      - MYSQL_USER=johan
      - MYSQL_PASSWORD=${LOCAL_MYSQL_PASSWORD}
    volumes:
      - /var/mysql-data:/var/lib/mysql
    ports:
      - "3306:3306"
Etc. 

2 - Spring Boot apllication.properties文件包含:

spring.datasource.url = jdbc:mysql://xyxdb:3306/geosoldatabase
spring.datasource.username = johan
spring.datasource.password = bladiebladiebla  <== very first password

3 - 要更改密码,我执行了以下操作:

  • 通过输入数据库docker容器更改用户密码,并使用以下命令更改名称:
ALTER USER 'johan'@'%' IDENTIFIED BY 'xyzabc123';
ALTER USER 'johan' IDENTIFIED WITH mysql_native_password BY 'xyzabc123';
Commit; 
flush privileges;
  • 在我的Jenkins系统环境中更新了2个环境变量
LOCAL_MYSQL_PASSWORD=xyzabc123
SPRING.DATASOURCE.PASSWORD=xyzabc123

这不起作用。启动Spring Boot应用程序(重启Jenkins之后)无法使用用户名连接到数据库失败。密码错误。

当我将所有3个更新(在上面的2个点中)更改回初始密码时,一切正常。

我忘记了什么?

mysql spring-boot docker jenkins
1个回答
0
投票

几个月来,没有提出任何解决方案。这是一个信号。

几个月后我使用Dockerized版本的MySQL。这很好。还没有问题。

“好”的解决方法是通过Docker使用MySQL。

© www.soinside.com 2019 - 2024. All rights reserved.