收到磁盤空間告警的信息,/tmp目錄磁盤使用率99%。mysql 的 tmpdir 設(shè)置在/tmp目錄,第一時間查看 ls -alth 并為發(fā)現(xiàn)大文件,也沒有mysql臨時表之類的文件。連接mysql,show processlist 并為發(fā)現(xiàn)異常查詢 ……整個/tmp目錄8GB,用查看df -h 發(fā)現(xiàn)/tmp Avail 值剩下100MB左右;du -sh 發(fā)現(xiàn)tmp目錄只用了幾十MB。7GB多的空間哪里去了?未釋放?
相關(guān)mysql視頻教程推薦:《mysql教程》
通過lsof |grep tmp |more 發(fā)現(xiàn)其中一個mysql實例很多類似 /tmp/MLXvlID8 (deleted)
查看mysqld.err中發(fā)現(xiàn)有多行:
[ERROR] /mysql_base/bin/mysqld: Sort aborted
猜測:
Sql異常終止,導(dǎo)致sort aborted 。而臨時目錄下的/tmp/ML****** 等文件雖然刪除,但由于mysql線程連接是長連接,線程還存在,暫時不會釋放空間。
若想釋放空間:
1.重啟mysql;
2.重啟應(yīng)用程序,斷開長連接。
結(jié)果:
應(yīng)用程序重啟,長連接斷開,刪除的空間就釋放了。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com