Как изменить пароль пользователя базы данных, чтобы приложение Spring Boot все еще могло использовать базу данных?Окружающая среда - Докер и Дженкинс.
Смена пароля с «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 - Файл apllication.properties Spring Boot содержит:
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;
- Обновлены 2 переменные среды в моей системной среде Jenkins
LOCAL_MYSQL_PASSWORD=xyzabc123
SPRING.DATASOURCE.PASSWORD=xyzabc123
Это не работает.При запуске приложения Spring Boot (после перезагрузки Jenkins) не удается подключиться к базе данных с именем пользователя.Там неверный пароль.
Когда я заменяю все 3 обновления (в вышеуказанных 2 пунктах) обратно на исходный пароль, тогда все работает нормально.
Что я забыл?