gpt4 book ai didi

mysql - 增加 mysql docker 中的 max_allowed_pa​​cket 大小

转载 作者:IT老高 更新时间:2023-10-28 12:41:38 26 4
gpt4 key购买 nike

我们正在为 mysql 使用 Docker,我们在运行时遇到以下错误

Packet for query is too large (12884616 > 4194304). You can change this value on the server by setting the max_allowed_packet' variable.; nested exception is com.mysql.jdbc.PacketTooBigException: Packet for query is too large (12884616 > 4194304). You can change this value on the server by setting the max_allowed_packet' variable.

现在我们需要在 mysql 配置中增加 max_allowed_pa​​cket 的大小,谁能帮我使用 docker 命令来增加 max_allowed_pa​​cket

最佳答案

作为容器命令的参数:

docker run -it -e MYSQL_ROOT_PASSWORD=my-secret-pw mysql:5.7 --max-allowed-packet=67108864

参见 https://hub.docker.com/_/mysql/ 上的“没有 cnf 文件的配置” ,复制到这里供后人使用:

Configuration without a cnf file Many configuration options can be passed as flags to mysqld. This will give you the flexibility to customize the container without needing a cnf file. For example, if you want to change the default encoding and collation for all tables to use UTF-8 (utf8mb4) just run the following:

$ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

If you would like to see a complete list of available options, just run:

$ docker run -it --rm mysql:tag --verbose --help

使用 docker-compose 时(如评论中所要求的),添加带有参数的 command 键:

version: "3"services:  data:    image: "mysql:5.7.20"    command: --max_allowed_packet=32505856      # Set max_allowed_packet to 256M (or any other value)    environment:      - MYSQL_ROOT_PASSWORD=password      - MYSQL_DATABASE=db      - MYSQL_USER=user      - MYSQL_PASSWORD=user_password

关于mysql - 增加 mysql docker 中的 max_allowed_pa​​cket 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39369367/

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