ERROR! The server quit without updating PID file

好多天沒有更新網站內容了,
今天難得有空準備更新下網站內容,
點開後臺登錄鏈接,
直接顯示個報錯信息:數據庫鏈接失敗!

wtf?什麼情況?
由於關閉了程序的debug,
所以通過頁面並不能得到什麼有效信息,
開始排查報錯問題。

打開 Navicat 嘗試鏈接MySQL,
彈出報錯信息:1040 Too many connections
通過報錯可以看出是鏈接數達到最大閾值了。
打開xshell連接到服務器上,
通過 mysql -u root -p 回車輸入密碼進入mysql ,
執行 show processlist; 查看卻並未發現一些鏈接處於 sleep狀態,
而是正常的 query end,
所以我決定暴力重啓來解決鏈接失敗的問題。

執行 /etc/init.d/mysql stop 正常停止了 MySQL,
頑皮的事情發生在執行 /etc/init.d/mysql start ,
返回了報錯信息: ERROR! The server quit without updating PID file…
google 了一波,
大多數文章是讓修改 me.cnf 參數,
但是我服務器上安裝的 MySQL 之前多次啓停並未出現過這樣異常情況。

查看網站log,
在log中發現一條 error 信息:

write() to "/wwwlogs/798ziyuan-www-access.log" failed (28: No space left on device) while logging request

磁盤滿了!!!

df -h 查看掛載盤的信息,
發現使用量已經是 100%了(確實是磁盤滿了)。
進入到 掛載盤 目錄,
發現多了一個新的目錄(我草,不是被黑了吧)
在這裏插入圖片描述
先刪除目錄內容再說,
rm -rf ./* 將目錄清空,
重新執行 /etc/init.d/mysql start 運行mysql,
已經可以順利啓動了。

接下來就是排查新增目錄的來源了,
問了一下有服務器登錄信息的朋友,
原來是朋友用服務器下載數據來着,
這就放心很多了。
再次查看目錄,
發現又出現了新下載內容,
看來是還執行着下載程序。
在這裏插入圖片描述可以看到運行着不少 wget 進程,
重點還是 kill 掉喚起 wget 的程序,
可以通過 ps aux 命令查看執行的程序中是否存在異常程序,
然後將對應的程序 kill 掉並將執行的代碼刪除掉就OK了!

總結:

出現 ERROR! The server quit without updating PID file 的異常情況,
除了MySQL 配置文件的一些參數 錯誤和達到了鏈接數閾值外,
很有可能是磁盤滿了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章