1

由于某些非常奇怪的原因,文件中的值和我table_cachequery_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。

任何提示或建议都非常受欢迎。

谢谢

4

2 回答 2

0

因为可能会更改全局配置文件,所以您设置的值很可能被更具体的配置文件覆盖,如文档中所述

请记住,即使 MySQL 确实在 /etc/my.cnf 中找到了 my.cnf 文件(该机器上的所有 MySQL 服务器都是全局的),它也会继续搜索特定于服务器的文件,然后搜索特定于用户的文件文件。您可以将最终配置设置视为 /etc/my.cnf、mysql-data-dir/my.cnf 和 ~/.my.cnf 文件的结果

您可以删除在更具体的文件中设置的任何值,或者在 mysql 用户的特定配置文件中设置值。

于 2013-10-31T13:47:01.403 回答
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重启。

于 2015-03-09T06:27:46.207 回答