文件首頁
MySQL 8.4 參考手冊
相關文件 下載本手冊
PDF (美式信紙) - 39.9Mb
PDF (A4) - 40.0Mb
Man Pages (TGZ) - 258.5Kb
Man Pages (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 參考手冊  /  ...  /  MySQL 如何處理磁碟空間已滿的情況

B.3.3.4 MySQL 如何處理磁碟空間已滿的情況

本節說明 MySQL 如何回應磁碟空間已滿錯誤 (例如 裝置上沒有剩餘空間) 和超出配額錯誤 (例如 寫入失敗達到使用者區塊限制)。

本節適用於寫入 MyISAM 資料表。它也適用於寫入二進位日誌檔案和二進位日誌索引檔案,只是參考 記錄 時應理解為 事件

當發生磁碟空間已滿的情況時,MySQL 會執行以下操作:

  • 它會每分鐘檢查一次是否有足夠的空間來寫入目前的列。如果有足夠的空間,它會繼續執行,就像什麼都沒發生過一樣。

  • 它會每 10 分鐘在日誌檔中寫入一筆項目,警告磁碟空間已滿的情況。

要減輕這個問題,請採取以下動作:

  • 要繼續執行,您只需要釋出足夠的磁碟空間來插入所有記錄。

  • 或者,要中止執行緒,請使用 mysqladmin kill。執行緒會在下次檢查磁碟 (一分鐘後) 時中止。

  • 其他執行緒可能會等待導致磁碟空間已滿情況的資料表。如果您有多個 鎖定 的執行緒,則終止等待磁碟空間已滿情況的執行緒可讓其他執行緒繼續執行。

當您使用 REPAIR TABLEOPTIMIZE TABLE,或者在 LOAD DATAALTER TABLE 陳述式之後批次建立索引時,會有上述行為的例外情況。所有這些陳述式都可能會建立大型暫存檔案,如果放任不管,可能會對系統的其餘部分造成大問題。如果在 MySQL 執行這些作業時磁碟空間已滿,它會移除大型暫存檔案,並將資料表標示為崩潰。例外情況是,對於 ALTER TABLE,舊資料表會保持不變。