创建数据存储目录
mkdir -p /srv/repo/mysql/
创建配置文件存储目录
mkdir -p /srv/conf/mysql/
创建配置文件处理字符编码
vim /srv/conf/mysql/my.cnf
输入以下内容
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
从官方镜像启动 mysql server
MySQL(5.7.19)的默认配置文件是 /etc/mysql/my.cnf 文件。如果想要自定义配置,建议向 /etc/mysql/conf.d 目录中创建 .cnf 文件。新建的文件可以任意起名,只要保证后缀名是 cnf 即可。新建的文件中的配置项可以覆盖 /etc/mysql/my.cnf 中的配置项。
docker run \
-d \
-p 3306:3306 \
-v /srv/repo/mysql:/var/lib/mysql \
-v /srv/conf/mysql:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=19b2ca8b28fbf7cc2c2cfe8daf2dd3a3 \
--name mysql \
--restart=always \
mysql/mysql-server:5.7
进入容器查看编码设置
show variables like 'char%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | utf8mb4 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+