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

Docker部署的MySQL 8.0.33中innodb_buffer_pool_size未按预期调整的问题求助

Docker部署的MySQL 8.0.33中innodb_buffer_pool_size未按预期调整的问题求助

各位好,我在Docker里部署了MySQL 8.0.33,服务器有8GB可用内存,最近调整缓冲池配置时碰到了个奇怪的问题,想请大家帮忙看看。

我的Docker挂载配置如下:

volumes:
  - ./sql:/docker-entrypoint-initdb.d
  - ./store:/var/lib/mysql
  - ./my.cnf:/etc/mysql/conf.d/mysqld.cnf

在my.cnf里我做了这些修改:

[mysqld]
innodb_buffer_pool_instances=6 # 之前是4
innodb_buffer_pool_chunk_size=500M # 之前是1GB
innodb_buffer_pool_size=3GB # 之前是4GB

我已经重启了两次数据库容器,并且确认容器内部的配置文件确实是我修改后的最新版本。但当我在数据库里执行查询验证时,出现了意外:

  • SELECT @@innodb_buffer_pool_chunk_size; 返回524288000,和预期一致
  • SELECT @@innodb_buffer_pool_instances; 返回6,和预期一致
  • 可是SELECT @@innodb_buffer_pool_size; 却返回了6291456000(也就是6GB),这和我设置的3GB完全不符,太奇怪了!

我查了官方文档,里面提到:

如果修改了innodb_buffer_pool_chunk_size,innodb_buffer_pool_size会自动调整为等于或大于innodb_buffer_pool_chunk_size * innodb_buffer_pool_instances的倍数的值。

我算了一下,524288000 * 6 = 3145728000,刚好就是我设置的3GB,按道理不应该被自动调整才对。有没有大佬能帮我分析下为什么实际生效的是6GB呢?另外我还准备用SHOW STATUS WHERE ...进一步排查,但目前还没找到头绪。

备注:内容来源于stack exchange,提问作者Alexey Sh.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.16 09:09:31