我有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
我做错了什么?
答案 0 :(得分:4)
您可以将其添加到数据库服务中:
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=""
答案 1 :(得分:2)
尝试只使用一个"卷"指示。也许它只使用最后一个。
答案 2 :(得分:1)
我也改变了
- ./docker/my.cnf:/etc/my.cnf
到
- ./docker/my.cnf:/etc/alternatives/my.cnf
它与此问题无关,但看起来它被认为是一种更好的做法"。