gpt4 book ai didi

docker - 使用 docker-compose 更改 Mariadb 镜像上的 SQL 模式

转载 作者:行者123 更新时间:2023-12-04 02:18:10 25 4
gpt4 key购买 nike

我对 Mariadb 的官方 dockerized 镜像有疑问。

当我的应用程序尝试进​​行一些查询时,我收到以下错误:

DB Error: unknown error QUERY : INSERT INTO



此错误似乎来自 SQL_MODE,在此图像中设置如下:
STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,
NO_ENGINE_SUBSTITUTION

我有一个普通的 Linux 服务器并安装了 mariadb,但我的 SQL_mode 中没有这个 STRICT_TRANS_TABLES 值。我的应用程序运行没有任何问题。

当我使用 docker-compose 文件运行 docker-compose 而不需要自定义 dockerfile 时,如何删除容器中的 STRICT_TRANS_TABLES 值?

最佳答案

在您的 docker-compose.yml 设置命令中: --sql_mode=""
下面是一个例子:

db-service:
build:
context: .
dockerfile: db.dockerfile
image: example/repo:db
ports:
- "3306:3306"
volumes:
- ./data/db-data:/var/lib/mysql
- ./data/db-init:/docker-entrypoint-initdb.d/
ports:
- "3306:3306"
environment:
MYSQL_USER: root
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: your_database
command: mysqld --sql_mode="" --character-set-server=utf8 --collation-server=utf8_slovenian_ci --init-connect='SET NAMES UTF8;' --innodb-flush-log-at-trx-commit=0
restart: on-failure
networks:
- yournet
这对我来说可以。

关于docker - 使用 docker-compose 更改 Mariadb 镜像上的 SQL 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48924667/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com