Hello! 欢迎来到小浪云!


Docker run 如何指定 MySQL 字符集?


avatar
小浪云 2024-11-08 37

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%';
登录后复制

字符集应已正确设置。

相关阅读