mysql - 无法在 my.cnf 中禁用 query_cache_type
问题描述
由于已知的性能问题和 InnoDB 的性能问题,我正在尝试禁用 docker 中的 mariadb pod 中的 query_cache_type。我在具有以下设置的 rpm 上运行的生产服务器中有一些当前设置:
query_cache_limit=1048576
query_cache_size=1048576
query_cache_type=OFF
然而,当我尝试在我的新服务器上模仿这些设置时,当我查看“显示全局变量”时,它默认将 query_cache_type 设置为 ON
| query_cache_type | ON
我试图查看错误日志并看到现在提到的术语 query_cache_type。我还重新启动了 docker mariadb 实例以刷新数据库配置,但它没有更新。有什么我应该检查的吗?是否可能是我需要完全删除数据库才能从新配置开始?我宁愿不手动更改它,因为它应该从 my.cnf 中获取正确的配置。
解决方案
从 MariaDB 10.1.7 开始,如果服务器启动时将 query_cache_size 设置为非零(和非默认)值,则 query_cache_type 会自动设置为 ON。
-- https://mariadb.com/kb/en/query-cache/
因此,将其添加(或更改)到以下[mysqld]
部分my.cnf
:
query_cache_size=0