Как установить глобальные переменные mysql, работающие на экземпляре Docker, запущенном TestContainers - PullRequest
2 голосов
/ 27 июня 2019

В настоящее время я запускаю приложение Java Spring, использующее TestContainers для управления моими источниками данных. У меня возникают проблемы при установке глобальных переменных для моего экземпляра MySQL на Docker во время инициализации экземпляра Docker.

Я пробовал несколько вещей.

TestContainers имеет метод execInContainer, который принимает строку команд.

container.execInContainer("mysqld", "--character_set_server=utf8");

Кроме того, вы также можете запустить скрипт инициализации, используя .withInitScript("mysql_test_init.sql");

SET @@global.character_set_client = 'utf8';
SET @@global.character_set_server = 'utf8';

Использование execInContainer, похоже, ничего не делает и не меняет переменную (и) в MySQL.

Использование сценария не удается из-за того, что Docker использует изменения от имени пользователя без полномочий root.

Access denied for user 'test'@'%' (using password: YES)

Есть ли способ, которым я могу легко изменить / настроить глобальные переменные MySQL. Я что-то не так делаю?

Некоторые параметры, которые я хотел бы изменить:

  • character_set_client
  • character_set_connection

Спасибо.

...