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

时间:2018-12-15 16:17:30

标签: mysql spring-boot docker jenkins

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

将密码从“ password1”更改为“ password2”不起作用。 Sprint引导应用程序无法连接到(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

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

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

我忘记了什么?

1 个答案:

答案 0 :(得分:0)

几个月以来,没有提出解决方案的建议。那是一个信号。

几个月以来,我使用MySQL的Dockerized版本。很好还没有问题。

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