如何修改docker mysql官方镜像的my.cnf和自定义配置
发布于 2020-06-10 14:53:49
配置文件位置
首先mysql的配置文件,分别在容器里的/etc/mysql/my.cnf
和 /etc/mysql/conf.d
其中my.cnf
是主配置文件,conf.d
是文件夹,里面放自定义配置。
自定义配置的文件命名方法是xxxx.cnf
,配置的开头必须含有[mysqld]
,如common.cnf:
[mysqld]
lower_case_table_names=1
default_authentication_plugin=mysql_native_password
sql_mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
文件映射
修改后的配置文件需要重启后才能生效,但重启mysql容器又会把修改后的文件还原。所以还得把这些配置映射到宿主主机上。
需要注意的是,在映射之前,我们必须把mysql容器跑起来,目的是为了把里面的my.cnf
和conf.d
下的文件拷贝到宿主主机上,不然直接映射的话,生成的my.cnf
和conf.d
都是空的
这是docker-compose的映射规则,大家可以参考:
代码语言:javascript复制 - /data/docker/mysql/data:/var/lib/mysql
- /data/docker/mysql/conf:/etc/mysql/conf.d
- /data/docker/mysql/my.cnf:/etc/mysql/my.cnf
配置好后,重启mysql容器就可以生效了