出于一些非常奇怪的原因,table_cache
文件中的query_cache_limit
和my.cnf
值都拒绝更改值,即使我已修改它们。
例如在mysqltuner中显示以下建议:
query_cache_limit (> 1M, or use smaller result sets)
table_cache (> 400)
但是在my.cnf文件中我有:
query-cache-limit = 8G
table-open-cache = 2048
我已经重新启动了mysql,apache和服务器,但是这些值拒绝更新。我正在使用mysql服务器中的Percona 5.5 drop。
非常欢迎任何提示或建议。
由于
答案 0 :(得分:0)
因为可能正在更改全局配置文件,所以您设置的值很可能被更具体的配置文件覆盖,如stated in the docs
请记住,即使MySQL确实在/etc/my.cnf中找到了my.cnf文件(全局到该机器上的所有MySQL服务器),它仍将继续搜索特定于服务器的文件,然后是用户特定的文件。您可以将最终配置设置视为/etc/my.cnf,mysql-data-dir / my.cnf和〜/ .my.cnf文件的结果
您可以删除更具体文件中设置的任何值,也可以在mysql用户的特定配置文件中设置该值。
答案 1 :(得分:0)
我有同样的问题。 有解决方案吗?
正如@NDM在他的回答中提到的,我试图搜索另一个cnf文件
find / -type f -name *.cnf*
/etc/mysql/debian.cnf
/etc/mysql/conf.d/mysqld_safe_syslog.cnf
/etc/mysql/conf.d/my5.6.cnf
/etc/mysql/my.cnf
/etc/texmf/fmt.d/50cyrtexinfo.cnf
/etc/ssl/openssl.cnf
/usr/share/doc/mysql-server-5.6/examples/my-default.cnf
/root/.my.cnf
/var/lib/mysql/auto.cnf
在任何这些文件中,没有mysql设置重载。所以我很困惑。 另外我更改了innod_db_buffer_pool_size并在mysql重启后更改了!但是table_open_cache没有!
半小时后更新
我找到了解决方案! 这都是因为debian系统打开文件限制设置。 您可以按照此处的说明进行更改 https://wied.it/blog/increase-max-open-files-in-debian-squeeze-too-many-open-files-ulimit-n-limits-conf.html
或者在这里 https://rtcamp.com/tutorials/linux/increase-open-files-limit/
# ulimit -n 4096
Relogin and verify:
# ulimit -Sn # soft limit
# ulimit -Hn # hard limit
之后重启mysql。