我目前正在使用 TestContainers 运行 Java Spring 应用程序来管理我的数据源。在 docker 实例初始化期间,我在 Docker 上为我的 MySQL 实例设置全局变量时遇到问题。
我已经尝试了几件事。
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';
usingexecInContainer
似乎什么都不做,也不会改变 MySQL 中的变量。
由于 Docker 使用非 root 用户进行更改,因此使用脚本失败。
Access denied for user 'test'@'%' (using password: YES)
有没有一种方法可以轻松更改/配置 MySQL 的全局变量。难道我做错了什么?
我想更改的一些参数:
character_set_client
character_set_connection
谢谢你。