程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 解析:輕松掌握 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例外,舊表保持不變。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved