mysql - docker 。 MySQL 镜像。无法更改 my.cnf 文件

标签 mysql macos docker docker-compose

我有这样一个docker-compose.yml:

    database:
        container_name: test_db
        image: mysql:5.7
        volumes:
            - ./docker/my.cnf:/etc/my.cnf
        environment:
            - "MYSQL_ROOT_PASSWORD=root"
            - "MYSQL_DATABASE=test_db"
        ports:
            - "3306:3306"
        volumes:
          - test_db_data:/var/lib/mysql

volumes:
    test_db_data:

我想编辑 sql_mode

./docker/my.cnf 包含:

[mysqld]
sql_mode=""

但是当我从本地机器连接到 db 并运行 SELECT @@sql_mode; 我收到:

ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

我做错了什么?

最佳答案

您可以将其添加到您的数据库服务中:

command: --sql_mode=""

所以它:

    database:
    container_name: test_db
    image: mysql:5.7
    volumes:
        - ./docker/my.cnf:/etc/my.cnf
    environment:
        - "MYSQL_ROOT_PASSWORD=root"
        - "MYSQL_DATABASE=test_db"
    ports:
        - "3306:3306"
    volumes:
      - test_db_data:/var/lib/mysql
    command: --sql_mode=""

关于mysql - docker 。 MySQL 镜像。无法更改 my.cnf 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47374644/

相关文章:

mysql - 被MySQL子查询难住了

php - 社交网站的数据库连接

MySQL插入语句语法?

android - 复杂的 sqLite 查询 LIKE 子句

Azure应用程序服务无法正确安装docker

objective-c - 为什么 webFrameLoadDelegate 协议(protocol)不起作用?

c++ - Xcode中如何使用wstring和wcout输出中文单词?

cocoa - 如何取消选择 NSBrowser 中的所有单元格

docker - 在构建期间将参数传递给脚本

laravel - 使用 sail 运行现有的 Laravel 项目