Spring Boot & MySql - нельзя использовать новое имя пользователя и пароль для базы данных службы - PullRequest
0 голосов
/ 15 декабря 2018

Как изменить пароль пользователя базы данных, чтобы приложение 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 пунктах) обратно на исходный пароль, тогда все работает нормально.

Что я забыл?

1 Ответ

0 голосов
/ 23 февраля 2019

В течение нескольких месяцев решение не предлагалось.Это сигнал.

Уже несколько месяцев я работаю с Dockerized-версией MySQL.Это отлично работает.Проблем пока нет.

«Хороший» обходной путь - использование MySQL через Docker.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...