解決由於日誌佔滿空間導致的MySQL無法啟動相關問題

來源:互聯網
上載者:User

今天收到監控郵件說部落格訪問失敗。開啟頁面一看,碩大的502 Bad Gateway,ping了一下VPS發現是通的,SSH串連上去看了下Nginx日誌發現沒問題,重啟lnmp的時候發現Mysql起不來,問題源頭基本找到。

tail /usr/local/mysql/var/slyar.err

看了一下Mysql的錯誤記錄檔,意外狀況出現。。。

Disk is full writing './mysql-bin.~rec~' (Errcode: 28). Waiting for someone to free space... (Expect up to 60 secs delay for server to continue after freeing disk space)

神奇的情況,居然是因為磁碟滿了無法寫入日誌導致Mysql起不來

root@slyar# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 3016688 2877540 0 100% /

果然啊,/var目錄爆了

root@slyar:/usr/local/mysql/var# ll --block-size=MB
total 504MB
-rw-rw---- 1 mysql mysql 26MB Jul 23 2012 mysql-bin.000011
-rw-rw---- 1 mysql mysql 5MB Jul 26 2012 mysql-bin.000012
-rw-rw---- 1 mysql mysql 27MB Aug 8 2012 mysql-bin.000013
-rw-rw---- 1 mysql mysql 43MB Aug 23 2012 mysql-bin.000014
-rw-rw---- 1 mysql mysql 270MB Feb 9 17:05 mysql-bin.000020
-rw-rw---- 1 mysql mysql 115MB Apr 19 12:27 mysql-bin.000021
-rw-rw---- 1 mysql mysql 1MB Feb 10 12:07 mysql-bin.index
-rw-rw---- 1 mysql mysql 0MB Apr 19 12:34 mysql-bin.~rec~

基本上就是被這些玩意佔滿了,查了一下Mysql手冊發現這些東西也沒啥用,直接刪除(此操作最好在Mysql服務停止時進行,因為當前日誌使用的話無法刪除,而且有可能導致一些其它問題,不過用mysql>reset master命令可以直接清空日誌)

root@slyar:/usr/local/mysql/var# rm -f mysql-bin.*

為了防止再次出現此類狀況,直接關閉Mysql的log-bin日誌功能

vim /etc/my.cnf

找到:
log-bin=mysql-bin
binlog_format=mixed

在前面加上#注釋掉,:wq儲存退出

最後

/etc/init.d/mysql restart

啟動Mysql服務,一切正常。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.