問題:
Linux 資料庫異常,總是自動停止,重啓後相隔 1-2 分鐘就會停止.
檢視資料庫日誌顯示:
[ERROR] /usr/sbin/mysqld: Can’t open file: ‘./eximstats/smtp.frm’ (errno: 24 – Too many open files)
大量關於 eximstats 資料庫相關的錯誤提示.
初次,認為為該資料庫表存在問題,嘗試修復該資料庫.
修復方式:
<1>登入 phpmyadmin 進行修復
<2>命令修復 mysqlcheck -r eximstats
<3>也可以嘗試修復全部資料庫 mysqlcheck –all-databases -r
修復成功後,重啓 mysql,發現問題依然存在.
經搜尋後,我發現,這個問題可能是由於開啓的檔案限制不夠高.
查詢當前檔案限制:
mysql> SHOW VARIABLES LIKE ‘open_files_limit’;
+——————+——-+
| Variable_name | Value |
+——————+——-+
| open_files_limit | 5000 |
+——————+——-+
1 row in set (0.00 sec)
查詢當前正開啓的檔案數:
mysql> SHOW GLOBAL STATUS LIKE ‘Open_files’;
+—————+——-+
| Variable_name | Value |
+—————+——-+
| Open_files | 3338 |
+—————+——-+
1 row in set (0.00 sec)
從上述結果看,我目前開啓的檔案未超過當前檔案限制. 因為目前 mysql 執行時正常,但是經觀察每次重啓 mysql 後,相隔 1-2 分鐘 mysql 就會出現停止執行,我們也無法檢視相關引數.
嘗試上調 mysql 檔案限制:
/etc/my.cnf
新增或修改:
open_files_limit=50000
再次重啓 mysql
繼續觀察,未再次出現以上異常.
原文連結:http://www.th7.cn/db/mysql/201503/93877.shtml