Docker run 如何指定 MySQL 字符集?

docker run 如何指定 mysql 字符集?

docker run 无法指定 mysql 字符集?

问题:

根据 docker hub mysql 提供的示例,在启动容器时可以通过 --character-set-server 和 --collation-server 选项指定字符集。然而,实际启动容器后发现字符集并没有发生变化。

解答:

无法通过 docker run 命令直接指定 mysql 字符集。一种可行的方法是使用自定义配置文件:

在宿主机创建名为 character_set.cnf(后缀必须为 .cnf)的文件,并添加以下内容:

[mysqld]
character-set-server = utf8mb4
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4

然后,启动容器时将容器的 /etc/mysql/conf.d 目录挂载到该配置文件所在的目录:

docker run --name mysql -v /path/to/cusotm:/etc/mysql/conf.d -e mysql_root_password=my-secret-pw -d mysql:tag

启动后,进入容器并检查字符集设置:

show variables like '%char%';

字符集应已正确设置。

以上就是Docker run 如何指定 MySQL 字符集?的详细内容,更多请关注其它相关文章!