首頁 > 資料庫 > mysql教程 > 如何清除和縮小MySQL中的ibdata1檔案?

如何清除和縮小MySQL中的ibdata1檔案?

Patricia Arquette
發布: 2024-12-04 15:13:11
原創
288 人瀏覽過

How Can I Purge and Shrink the ibdata1 File in MySQL?

清除並縮小MySQL 中的Ibdata1 檔案

儘管刪除了MySQL 中的資料庫,ibdata1 檔案的大小仍會累積,從而導致性能問題。為了解決這個問題,MySQL 允許您配置單一表和索引以使用單獨的文件,而不是將它們儲存在 ibdata1 中。

設定單一表格檔案

新增以下設定新增至您的my.cnf 檔案:

重新啟動MySQL 以使變更生效。這將確保新表使用自己的 ibd* 檔案建立。

從Ibdata1 回收空間

要從ibdata1 回收空間,請依照下列步驟操作:

  1. 建立除mysql 之外的所有資料庫的轉儲Performance_schema。
  2. 刪除 mysql 和 Performance_schema 之外的所有資料庫。
  3. 停止 MySQL。
  4. 刪除 ibdata1 和 ib_log 檔案。
  5. 啟動 MySQL。
  6. 從以下位置還原資料庫dump.

重新啟動後,MySQL 將建立新的 ibdata1 和 ib_log 檔案。當您建立新資料庫進行分析時,它們將使用單獨的 ibd* 檔案而不是 ibdata1。

最佳化表格大小

使用ALTER TABLE ENGINE=innodb 或OPTIMIZE TABLE ;指令可以將資料和索引頁從ibdata1 移到單獨的文件。但是,如果不執行上述步驟,ibdata1 就不會收縮。

附加說明

  • information_schema 資料庫無法刪除,因為它包含唯讀視圖, MySQL 重新啟動後會重新產生。
  • 雖然 MySQL 企業版提供了用於收縮 ibdata1 的附加功能,但它們並沒有在社群版中可用。

以上是如何清除和縮小MySQL中的ibdata1檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板