解决 docker mysql 中文乱码问题

docker mysql 字符集设置

使用 docker 启动 mysql 容器可能会出现中文乱码的情况,这里记录如何制作支持中文的 mysql 镜像

docker版本:18.06
mysql 版本:5.7

1. 创建 my.cnf 文件

[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
collation-server=utf8_general_ci
character-set-server=utf8
init-connect='SET NAMES utf8'

2. 编写 Dockerfile

Dockerfile

FROM mysql:5.7

COPY my.cnf /etc/mysql/conf.d/mysqlutf8.cnf

CMD ["mysqld", "--character-set-server=utf8", "--collation-server=utf8_unicode_ci"]

3. 制作新的镜像

$ docker build -t xxx/mysql:5.7-utf8 .

4. 启动容器

$ docker run -d --name mysql \
           -p 0.0.0.0:3306:3306 \
           -v your-path/mysql:/var/lib/mysql \
           -e MYSQL_ROOT_PASSWORD=your-password \
           xxx/mysql:5.7-utf8 \
           --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

你可能感兴趣的:(Docker,Mysql)