You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改docker-compose配置将MySQL最大连接数提升至10000

MySQL 8.0 容器最大连接数修改方案

直接在docker-compose的db服务配置中添加启动参数即可,不需要额外挂载自定义my.cnf配置文件,具体修改点如下:

  • 给db服务新增command配置,指定mysqld启动参数--max_connections=10000
  • 给db服务新增ulimits配置,调大容器的文件打开数上限,避免10000连接场景下因文件句柄不足出现连接报错
  • 修正原配置的端口映射错误:MySQL官方8.0镜像默认内部监听端口为3306,原配置写的3311:3311映射无效,需改为3311:3306;同时hf_run服务和db同属一个docker网络,内部通信走容器内部端口,因此DB_PORT环境变量需要填3306,不是宿主机映射的3311端口

修改完成后的完整docker-compose.yml配置如下:

version: '3.3'
services:
  db:
    image: mysql:8.0
    cap_add:
      - SYS_NICE
    restart: always
    # 新增启动参数指定最大连接数
    command: mysqld --max_connections=10000
    # 新增ulimits配置调大文件句柄上限
    ulimits:
      nofile:
        soft: 65535
        hard: 65535
    environment:
      - MYSQL_DATABASE=high_frequency
      - MYSQL_ROOT_PASSWORD=XXX
    ports:
      # 修正端口映射,格式为 宿主机端口:容器内部端口
      - '3311:3306'
    volumes:
      - db:/var/lib/mysql
  hf_run:
    container_name: hf_run
    build: .
    command: ./main.py -r run_docker
    restart: on-failure:50
    depends_on:
      - db
    ports:
      - 81:81
    environment:
      DB_HOST: db
      # 容器内部通信使用MySQL默认内部端口3306
      DB_PORT: 3306
      DB_USER: root
      DB_PASSWORD: XXX
      DB_NAME: high_frequency
    links:
      - db
volumes:
  db:
    driver: local

配置生效验证:启动容器后,执行docker exec -it <db容器ID> mysql -uroot -pXXX -e "show variables like 'max_connections';",返回结果中Value值为10000即代表配置生效。

内容的提问来源于stack exchange,提问作者Raginald Avto

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 11:57:11