如何更改数据库用户密码,以便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-要更改密码,我执行了以下操作:
ALTER USER 'johan'@'%' IDENTIFIED BY 'xyzabc123'; ALTER USER 'johan' IDENTIFIED WITH mysql_native_password BY 'xyzabc123'; Commit; flush privileges;
LOCAL_MYSQL_PASSWORD=xyzabc123 SPRING.DATASOURCE.PASSWORD=xyzabc123
这不起作用。 (无法重新启动Jenkins之后)启动Spring Boot应用程序失败,因为无法使用用户名连接到数据库。密码错误。
当我将所有3个更新(在以上2点中)更改回初始密码时,一切正常。
我忘记了什么?
答案 0 :(得分:0)
几个月以来,没有提出解决方案的建议。那是一个信号。
几个月以来,我使用MySQL的Dockerized版本。很好还没有问题。
“好的”解决方法是通过Docker使用MySQL。