萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> MySQL處理磁盤滿的方式

MySQL處理磁盤滿的方式

   本文主要介紹了MySQL響應磁盤滿錯誤的方式(如“設備上無剩余空間”),以及響應超配 額錯誤的方式(如“寫入失敗”或“達到了用戶屏蔽限制”)。

  本文介紹的內容與寫入MyISAM表有關。它也適用於寫入二進制日志文件和二進制索引文件,但對 “row”和“record”的應用應被視為“event”。

  出現磁盤滿狀況時,MySQL將:

  每分鐘檢查一次,查看是否有足夠空間寫入當前行。如果有足夠空間,將繼續,就像什麼也未發生一 樣。

  每10分鐘將1個條目寫入日志文件,提醒磁盤滿狀況。

  為了減輕問題,可采取下述措施:

  要想繼續,僅需有足夠的磁盤空間以插入所有記錄。

  要想放棄線程,必須使用mysqladmin kill。下次檢查磁盤時將放棄線程(1分鐘)。

  其他線程可能會正在等待導致磁盤滿狀況的表。如果有數個“已鎖定”的線程,殺死正在 磁盤滿狀況下等待的某一線程,以便允許其他線程繼續。

  對前述行為的例外是,當你使用REPAIR TABLE或OPTIMIZE TABLE時,或當索引是在LOAD DATA INFILE 或ALTER TABLE語句後、在批操作中創建的。所有這些語句能創建大的臨時文件,如果保留這些文件,會 導致系統其他部分出現大問題。如果在MySQL執行這類操作的同時磁盤已滿,它將刪除大的臨時文件,並 將表標注為崩潰。但對於ALTER TABLE例外,舊表保持不變。

copyright © 萬盛學電腦網 all rights reserved