docker-compose Mysql sql_mode 配置及修改only_full_group_by docker sql_mode ‘NO_AUTO_CREATE_USER‘
在Docker Compose中配置MySQL的sql_mode
,可以通过环境变量MYSQL_SQL_MODE
来设置。如果你想要移除ONLY_FULL_GROUP_BY
模式,可以将sql_mode
设置为默认值加上你想要的其他模式。
以下是一个docker-compose.yml
文件的例子,演示如何移除ONLY_FULL_GROUP_BY
:
version: '3'
services:
db:
image: mysql:latest
environment:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_DATABASE: mydb
MYSQL_USER: user
MYSQL_PASSWORD: password
# 设置 SQL 模式,移除 ONLY_FULL_GROUP_BY
MYSQL_SQL_MODE: "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"
ports:
- "3306:3306"
在这个例子中,MYSQL_SQL_MODE
被设置为一系列模式,除了ONLY_FULL_GROUP_BY
。这允许你在不需要全面分组的情况下进行查询。
请注意,在生产环境中修改sql_mode
可能会影响应用程序的行为,因此在进行更改之前应该充分测试。
评论已关闭