2013-10-31 82 views
1

出於一些非常奇怪的原因,my.cnf文件中的我的table_cache以及query_cache_limit值都拒絕更改值,即使我修改了它們。MySQL table_cache拒絕更改值

例如,在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

因爲是有可能改變全球配置文件,它很可能是你設置一個更具體的配置文件被覆蓋的值,如stated in the docs

請記住,即使MySQL確實在/etc/my.cnf中定位了一個my.cnf文件(全局到該機器上的所有MySQL服務器),它將繼續搜索特定於服務器的文件,然後搜索用戶特定的文件。你能想到的最後的配置設置爲在/etc/my.cnf中,MySQL的數據-DIR/my.cnf中,和〜/ .my.cnf文件

您既可以刪除任何結果在更具體的文件中設置值,或者在mysql用戶的特定配置文件中設置值。

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的重啓之後你可以改變它。