忽然發現網站打不開,數據庫顯示無法鏈接,數據庫 phpmyadmin 管理面板也打不開,網站後台查看服務器硬盤居然滿了,想想自己最近也沒怎麼折騰,服務器硬盤怎麼突然,遂登錄控制面板看了一眼。結果Disk usage直接爆滿,紅的相當感人。
實在是想不出什麼占用了這麼大的空間,直接重啟看看,然後就沒有然後了,因為重啟完磁盤占用率依舊感人,同時 ngnix 沒有啟動。嘗試手動啟動,結果報錯提示磁盤空間不足,無法啟動 ngnix 服務器。最可悲的是 ssh 也因為磁盤空空間不足也連不上。
萬幸的是 vps 的控制面板自帶的簡易shell還能用,輸入 df -h 查看磁盤占用情況,結果是100%占用,然後一路 df -sh * 定位過去發現 mysql 目錄下爆滿(df -h查看哪個目錄滿,然後切款到該目錄下後用df -sh *繼續追蹤),原來是裝 LNMP 的時候默認開啟了 mysql 的日志,然後滿滿的全是 mysql-bin.* 的日志文件。
原因解析:
LNMP一鍵安裝包默認安裝的 LNMP 一鍵包環境是沒有關閉 MYSQL 日志的,如果數據操作比較頻繁就會產生大量的日志,在 /usr/local/mysql/var/ 下面自動生成多個 mysql-bin.0000* 類似的文件,而且一般都在幾十MB到幾個GB,更甚會占用整個硬盤空間,從而導致 mysql 無法鏈接或網站報錯。
解決方法:
1、直接刪除已有日志文件 root@ludis:/usr/local/mysql/var# rm -f ./mysql-bin.*
執行 reset master,刪除 mysql 日志是治標不治本。斬草除根,我們應該禁用 mysql 日志生成。
2、關閉Mysql的log-bin日志功能:
BASICvim /etc/my.cnf
找到:
ActionScriptlog-bin=mysql-bin
binlog_format=mixed
在前面加上 # 注釋掉,:wq保存退出。
最後 service ngnix restart 即可。