繁体   English   中英

Docker使用自定义MySQL配置文件始终失败

[英]Docker Using a custom MySQL configuration file Always fail

请遵循此处的文档,始终会失败

使用自定义的MySQL配置文件MySQL的默认配置可以在/etc/mysql/my.cnf中找到,该文件可以包含!includedir附加目录,例如/etc/mysql/conf.d或/etc/mysql/mysql.conf。 d。 请检查mysql映像本身中的相关文件和目录,以获取更多详细信息。

如果/my/custom/config-file.cnf是自定义配置文件的路径和名称,则可以像这样启动mysql容器(请注意,此命令仅使用自定义配置文件的目录路径):

$ docker run --name some-mysql -v /my/custom:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD = my-secret-pw -d mysql:tag这将启动一个新的容器some-mysql,其中的MySQL实例使用来自/etc/mysql/my.cnf和/etc/mysql/conf.d/config-file.cnf的组合启动设置,其中来自后者的设置优先。

没有cnf文件的配置许多配置选项可以作为标志传递给mysqld。 这将使您可以灵活地自定义容器,而无需cnf文件。 例如,如果要更改所有表的默认编码和排序规则以使用UTF-8(utf8mb4),则运行以下命令:

$ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD = my-secret-pw -d mysql:tag --character-set-server = utf8mb4 --collat​​ion-server = utf8mb4_unicode_ci如果您想查看可用的完整列表选项,只需运行:

我的版本Docker版本18.09.7,内部版本2d0083d

我运行的命令

docker运行--name mysql2 -v /my/custom:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD = root -d mysql:8.0.16

我的自定义配置文件

[mysqld]
sql_mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"

我找到了原因。 因为我将mysql.cnf权限设置为777。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM