docker官方mysql镜像自定义配置

之前为了节省安装时间,所以用官方mysql docker镜像启动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 版本

这样数据是没有持久化的 所以在启动参数中需要挂载本地目录

$ 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的字符集更改。

这时候就可以挂载自定义配置文件,官方文档说明

当 MySQL 服务启动时会以 /etc/mysql/my.cnf 为配置文件,本文件会导入 /etc/mysql/conf.d 目录中所有以 .cnf 为后缀的文件。这些文件会拓展或覆盖 /etc/mysql/my.cnf 文件中的配置。因此你可以创建你自己需要的配置文件并挂载至 MySQL 容器中的 /etc/mysql/conf.d 目录。

所以最简单改变数据库配置的方式就是在宿主机上新建配置文件,改成utf8mb4


[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容器文件夹下

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

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

你可能感兴趣的:(docker官方mysql镜像自定义配置)