innodb_buffer_pool_size 没有改变

innodb_buffer_pool_size 没有改变

我在 5.5.23-1~dotdeb.0(Debian)上遇到了 innodb_buffer_pool_size 配置的一个奇怪问题:

无论我在 my.cnf 中为 innodb_buffer_pool_size 选择什么新值(例如 3G、4G、8000M),重新启动 mysql 后我仍然得到 innodb_buffer_pool_size = 128 M。

其他 my.cnf 参数的值可以更改,不会出现任何问题。

我还检查了文件系统上除了 /etc/mysql/my.dnf 之外没有其他 my.cnf。那么这是否意味着 innodb_buffer_pool_size = 128 M 是在编译时硬编码的?如果是,我该如何解决这个问题?如果不是,那么问题可能是什么原因造成的?谢谢

PS首先这个问题在 dba 论坛上出现,但是那里的人们似乎对 mysql debian 包没有什么了解。

答案1

我需要将配置放在 my.cnf 中的 [mysqld] 块内才能生效。

更多细节这里

答案2

数字“128”和“M”之间有空格吗?至少在我的 mysql 安装中,它们之间禁止有空格,尽管我只在 5.1.x 版本上检查了这一点。

答案3

就我而言,问题是innodb_buffer_pool_instances

由于我正在减少innodb_buffer_pool_size,所以每个实例变为少于 1GB,所以最终将其四舍五入。

当我还减少了实例,它最终改变了池大小

相关内容