【问题标题】:Docker Using a custom MySQL configuration file Always failDocker 使用自定义 MySQL 配置文件总是失败
【发布时间】:2019-11-20 22:08:14
【问题描述】:

Follow the documentation here,Always fail

使用自定义 MySQL 配置文件 MySQL 的默认配置可以在 /etc/mysql/my.cnf 中找到,其中可能包含额外的目录,例如 /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 run --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个权限

标签: mysql docker


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2011-04-04
    • 2020-02-25
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    • 2016-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多