如何设置由TestContainers启动的在Docker实例上运行的mysql全局变量

时间:2019-06-26 23:03:04

标签: mysql docker environment-variables testcontainers

我当前正在使用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';

使用execInContainer似乎无济于事,并且不会更改MySQL中的变量。

由于Docker使用非root用户进行更改,因此使用脚本失败。

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

有没有一种方法可以轻松地更改/配置MySQL的全局变量。我在做错什么吗?

一些我想更改的参数:

  • character_set_client
  • character_set_connection

谢谢。

0 个答案:

没有答案