MySQL 重啓提示超出可打開文件數限制|Buffered warning: Changed limits: max_open_files: 1024

Linux 服務器常常一段時間就會出現這樣的問題,一個月半個月的樣子。每次都重啓服務器臨時性解決,昨晚仔細看了看報的錯誤。mysql

先看應用的日誌提示連不上 MySQL 服務器。sql

"Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)"

再看看 MySQL 的日誌,發現原來超過限制了。數據庫

190314 11:18:08 mysqld_safe mysqld restarted 2019-03-14 11:18:09 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2019-03-14 11:18:09 0 [Note] /usr/sbin/mysqld (mysqld 5.6.34) starting as process 16180 ... 2019-03-14 11:18:09 16180 [Warning] Buffered warning: Changed limits: max_open_files: 1024 (requested 5000) 2019-03-14 11:18:09 16180 [Warning] Buffered warning: Changed limits: table_open_cache: 431 (requested 2000)

既然看到問題,先網上搜搜別人怎麼解決的。服務器

都在說修改系統的文件數限制,ulimit -a 一看,65535,對的呀。socket

怪事,MySQL 也有限制,看一下優化

show variables like '%files%';

果真是 1024 spa


 

更新,問題不對。是系統內存不足了。.net

數據庫優化rest

一、ip 地址反向解析。關閉日誌

skip-name-resolve

提示數據庫反應時間。

 

二、數據庫故障問題:內存不足,獲取不到更多內存。 

2019-03-14 11:18:09 16180 [ERROR] InnoDB: Cannot allocate memory for the buffer pool

下午已升了配置。

 

參考連接:http://blog.itpub.net/20893244/viewspace-2152685 

相關文章
相關標籤/搜索