docker官方mysql镜像自定义配置

以前为了节省安装时间,因此用官方mysql docker镜像启动mysql。
经过mysql

$ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d daocloud.io/mysql:tag

some-mysql 指定了该容器的名字,my-secret-pw 指定了 root 用户的密码,tag 参数指定了你想要的 MySQL 版本sql

这样数据是没有持久化的 因此在启动参数中须要挂载本地目录docker

$ docker run --name some-mysql -v /my/own/datadir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d daocloud.io/mysql:tag

因而这样数据库一直跑着,可是因为最近程序须要支持emoji表情,不得不将mysql的字符集更改。数据库

这时候就能够挂载自定义配置文件,官方文档说明code

当 MySQL 服务启动时会以 /etc/mysql/my.cnf 为配置文件,本文件会导入 /etc/mysql/conf.d 目录中全部以 .cnf 为后缀的文件。这些文件会拓展或覆盖 /etc/mysql/my.cnf 文件中的配置。所以你能够建立你本身须要的配置文件并挂载至 MySQL 容器中的 /etc/mysql/conf.d 目录。

因此最简单改变数据库配置的方式就是在宿主机上新建配置文件,改为utf8mb4server

[client]

default-character-set=utf8mb4


[mysqld]

character-set-client-handshake = FALSE

character-set-server = utf8mb4

collation-server = utf8mb4_unicode_ci



[mysql]

default-character-set=utf8mb4

随后将文件复制到相应docker容器文件夹下ci

docker cp /home/my.cnf(宿主机文件路径)  [容器id]:/etc/mysql/mysql.conf.d

最后使用docker stop和start命令重启容器就实现了加载自定义配置。unicode

相关文章
相关标签/搜索