В настоящее время я запускаю приложение 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
Спасибо.