在MySQL中清理和縮小ibdata1檔案
在R中利用MySQL進行資料分析時,使用者可能會遇到ibdata1檔案大小的問題儘管沒有儲存數據,但仍過度增長。本文針對這個問題,提供了全面的解決方案。
ibdata1檔案成長的原因
ibdata1檔案包含共享表空間中儲存的資料表的資料和索引。預設情況下,MySQL 將所有表儲存在這個單一檔案中,導致它不斷擴展。刪除資料庫和表只會從伺服器中刪除其元數據,但檔案本身保持不變。
解決方案:啟用「Separate File-per-Table」
以避免ibdata1為了防止檔案過度成長,配置MySQL 將每個表及其索引儲存為單獨的文件。現在 MySQL 5.6.6 及更高版本中預設啟用此功能。如果使用早期版本,請將以下行新增至 my.cnf 檔案:
[mysqld] innodb_file_per_table=1
這將確保新建立的資料庫和表格使用單獨的 ibd* 檔案而不是 ibdata1。
從ibdata1 回收空間
To釋放ibdata1佔用的空間,步驟如下:
這個過程將刪除所有表和數據,因此請確保在繼續之前備份了必要的資訊。
資訊架構注意事項
information_schema 是讀取的集合只有視圖,而不是實際的表。它不佔用磁碟上的任何文件,並在重新啟動MySQL時重新產生。因此,刪除它對 ibdata1 檔案大小沒有影響。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3