国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

磁盤空間滿了之后MySQL會怎樣

瀏覽:8日期:2023-10-16 19:20:29
 導讀

當磁盤空間爆滿后,MySQL會發生什么事呢?又應該怎么應對?

磁盤空間滿了之后MySQL會怎樣

 會發生什么事

當磁盤空間寫滿了之后,MySQL是無法再寫入任何數據的,包括對表數據的寫入,以及binlog、binlog-index等文件。

當然了,因為InnoDB是可以把臟數據先放在內存里,所以不會立刻表現出來無法寫入,除非開啟了binlog,寫入請求才會被阻塞。

當MySQL檢測到磁盤空間滿了,它會:

 應該怎么辦

那么,當發現磁盤空間滿了之后,我們應該怎么處理呢,建議:

每分鐘:檢查空間是否得到釋放,以便寫入新數據。當發現有剩余空間了,就會繼續寫入數據,一切照舊。

每十分鐘:如果還是發現沒剩余空間,則會在日志中寫入一條記錄,報告磁盤空間滿(這時候只寫入幾個字節還是夠的)。

提高監控系統檢測頻率,預防再次發生;

及時刪除不用的文件,釋放空間;

若有線程因磁盤滿的問題被阻塞了,可先殺掉,等到下一分鐘重新檢測時它可能又可以正常工作了;

可能因磁盤滿導致某些線程被阻塞,引發其他線程也被阻塞,可把導致阻塞的線程殺掉,其他被阻塞的線程也就能繼續工作了。

 例外

有個例外的情況是:

當執行 REPAIR TABLE 或者 OPTIMIZE TABLE 操作時,或者執行完 LOAD DATA INFILE 或 ALTER TABLE 之后批量更新索引時,這些操作會創建臨時文件,當執行這些操作過程中mysqld發現磁盤空間滿了,就會把這個涉及到的表標記為crashed,刪掉臨時文件(除了 ALTER TABLE 操作,MySQL會放棄正在執行的操作,刪除臨時文件,釋放磁盤空間)。

備注:當執行這些命令過程中mysqld進程被意外被殺掉的話,其所生成臨時文件不會自動刪除,需要手工刪掉才能釋放磁盤空間。

標簽: MySQL 數據庫
相關文章:
主站蜘蛛池模板: 富民县| 措美县| 个旧市| 盐城市| 肥西县| 武强县| 彰化市| 寻乌县| 宜君县| 仁布县| 拉孜县| 中西区| 雅安市| 旅游| 芒康县| 苍梧县| 房产| 甘谷县| 正阳县| 南郑县| 德化县| 巩义市| 山丹县| 额济纳旗| 高碑店市| 达孜县| 类乌齐县| 蒙城县| 荣昌县| 盐边县| 兴仁县| 崇义县| 翼城县| 凤山市| 天水市| 祥云县| 利辛县| 红原县| 宽甸| 临汾市| 义乌市|