gpt4 book ai didi

mysql - 如何使用 docker compose 使用 utf-8 设置 mysql?

转载 作者:可可西里 更新时间:2023-11-01 06:27:26 24 4
gpt4 key购买 nike

我正在尝试让我的 mysql 图像以 utf-8 编码运行。我的 docker-compose 文件如下所示:

version: '2'
services:
db:
container_name: zoho-grabber-db-development
image: mysql:5.7
environment:
- MYSQL_ROOT_PASSWORD=topsecret
- MYSQL_DATABASE=development
- MYSQL_USER=devuser
- MYSQL_PASSWORD=secure
ports:
- "3306:3306"
command: mysqld --character-set-server=utf8 --collation-server=utf8_general_ci

当我运行它时,它说

$ docker-compose -f docker-compose.development.yml up
Removing zoho-grabber-db-development
Recreating 1b341fd7916e_1b341fd7916e_zoho-grabber-db-development

ERROR: for db Cannot start service db: oci runtime error: container_linux.go:247: starting container process caused "exec: \"mysqld\": executable file not found in $PATH"
ERROR: Encountered errors while bringing up the project.

为什么找不到mysqld?以及如何实现我的目标?

最佳答案

docker-compose.yml 中使用 command 时,它会覆盖默认的 commandentrypoint,如中所述docker-compose documentation .为了实现您的目标,我建议您按照 docker image's readme 中的描述将 my.cnf 挂载为一个卷。在“使用自定义 MySQL 配置文件”部分下。

因此,从您的 docker-compose 中删除 command 并添加 volumes 例如。

...
volumes:
- mycustom.cnf:/etc/mysql/conf.d/custom.cnf
...

并且容器将包含您的自定义配置作为服务器的配置

编辑-1

下面是你需要的自定义配置

我的自定义.cnf

[mysqld]
character-set-server = utf8
collation-server = utf8_unicode_ci
skip-character-set-client-handshake

关于mysql - 如何使用 docker compose 使用 utf-8 设置 mysql?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46004648/

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