我正在mysqltuner
调整我的数据库并遇到了一个非常奇怪的情况。
即使整个数据库(所有表)都是 MyISAM,它也会显示以下内容:
[!!] InnoDB data size / buffer pool: 403.1M/128.0M
数据库的默认存储引擎是 InnoDB(即使所有表都是 MyISAM),所以我认为这可能以某种方式导致问题,但是当我将默认存储引擎值更改为 MyISAM 时,我仍然在 mysqltuner 中看到完全相同的与 InnoDB 相关的警告。
那么为什么会发生这种情况?我该如何解决?当我不使用 InnoDB 时,我宁愿不在 InnoDB 的缓冲池上浪费 400M。
注意:我在这里并不是想讨论 MyISAM 与 InnoDB 之间的古老问题,我只是想弄清楚为什么 InnoDB 会在我没有使用它的情况下消耗我的资源。
答案1
InnoDB 仅使用 128.0M 内存,其余部分在需要时无需缓冲即可读取。这不会造成任何问题。MySQL 不会在不需要时使用 InnoDB 的缓冲区/缓存部分,因此,如果您没有任何 InnoDB 格式的内容 - 您无需担心。
您可以通过在部分中添加来完全skip-innodb
禁用my.cnf
InnoDB [mysqld]
。