首頁  >  文章  >  資料庫  >  如何從 ibdata 和 frm 檔案還原 InnoDB MySQL 表資料?

如何從 ibdata 和 frm 檔案還原 InnoDB MySQL 表資料?

DDD
DDD原創
2024-09-12 20:17:001001瀏覽

How to Recover InnoDB MySQL Table Data from ibdata and frm Files?

MySQL Server 使用兩種類型的資料庫儲存引擎 – InnoDB 和 MyISAM。當使用InnoDB儲存引擎時,MySQL伺服器將資料和索引儲存在.ibdata檔案中,表模式儲存在.frm檔案中。如果 InnoDB 表損壞,您可以輕鬆地從 .ibdata 和 .frm 檔案還原 InnoDB MySQL 表的數據,而不是還原完整的資料庫備份。在本文中,我們將討論如何從 MySQL 伺服器中的 .ibdata 和 .frm 檔案還原資料。

從 ibdata 和 frm 檔案還原 InnoDB 表的逐步過程

以下是從 MySQL 伺服器中的 .frm 和 .ibdata 檔案還原 InnoDB 表格資料的逐步程序:

  • 您需要先建立一個新的 MySQL 資料庫。為此,請登入 PhpMyAdmin,按一下「資料庫」選項,輸入資料庫名稱(例如「客戶端」),然後按一下「建立」。

  • 接下來,前往 XAMPP 安裝的資料夾檢查新建立的資料庫。預設位置是 C:xamppmysqldata。

  • 當你開啟新資料庫時,你會發現它不包含任何表格。要建立表,您需要表的架構。如果您有更新的備份文件,那麼您可以獲得資料庫的架構和名稱。您可以使用相同的名稱來建立表格。但如果您沒有備份,則可以使用 .frm 檔案來提取表的架構。在線提供各種可靠的實用程式可以幫助您提取表架構。

  • 現在使用相同的架構在新建立的資料庫中建立表格。

  • 建立表格後,它將自動在資料庫資料夾中建立新的 .frm 和 .ibd 檔案。

  • 接下來,前往 XAMPP 安裝資料夾並刪除 .ibd 檔案。

  • 然後,複製原始 .ibd 檔案並將其貼上到新資料庫中。

  • 在複製原始 .ibd 檔案之前,請執行以下查詢:
    ALTER TABLE table_name DISCARD TABLESPACE;
    注意:DISCARD TABLESPACE 命令將斷開 MySQL 表和表空間之間的鏈接,從而有助於防止不一致和其他問題。

  • 接下來,使用以下指令還原 MySQL 表與表空間之間的連結:
    ALTER TABLE 表名 IMPORT TABLESPACE;
    注意:您可以使用 .frm 和 .ibd 檔案一次從單一表格還原資料。如果您需要還原多個表,那麼將花費大量時間,因為您需要手動執行每個表的所有步驟。

還原 InnoDB MySQL 表的替代解決方案

要快速、輕鬆地從 MySQL Server 資料庫一次還原多個 InnoDB 表,您可以使用專業的 MySQL 資料庫復原工具。 Stellar Repair for MySQL 就是這樣一種易於使用的工具,它可以從損壞的 MySQL 資料庫中恢復 InnoDB 表和其他數據,例如主鍵、視圖、觸發器等。該工具具有豐富的互動式使用者介面,可協助您透過幾個簡單的步驟快速執行修復和復原操作。

Stellar Repair for MySQL 的主要特點

以下是 Stellar Repair for MySQL 的一些關鍵功能:

  • 支援 MySQL Server 8.0.36 及更低版本

  • 支援所有 MariaDB 版本直至 11.3.2

  • 恢復 MySQL 資料庫中的所有數據,包括刪除的記錄和分區表

  • 完全精確地修正 MySQL 表

  • 在儲存之前提供修復資料的增強預覽

  • 允許一次修復多個資料庫

  • 讓您以多種格式儲存已修復的 MySQL 資料庫,例如 MySQL、MariaDB、SQL 腳本、CSV、HTML 和 XLS

  • 相容於Windows和Linux作業系統,包括CentOS 7(64位元)/ Red Hat Enterprise Linux 7(64位元)和Ubuntu 16.04(32位元和64位元)/ Ubuntu 18.04和19.10(64 位元)

結論

上面,我們解釋了從 ibdata 和 .frm 檔案還原 InnoDB MySQL 表資料的詳細逐步過程。但是,這不適合恢復多個表,因為您需要為每個表手動執行所有步驟。或者,您可以使用專業的 MySQL 資料庫復原工具,例如 Stellar Repair for MySQL,它可以幫助您從損壞的資料庫檔案中完全完整地提取所有對象,包括表、主鍵、視圖、觸發器等。該工具支援修復使用 InnoDB 和 MyISAM 儲存引擎建立的資料庫。它旨在解決 MySQL 資料庫中各種與損壞相關的錯誤。 Stellar Repair for MySQL 還提供免費演示版本,允許掃描資料庫檔案並預覽可復原的資料。

以上是如何從 ibdata 和 frm 檔案還原 InnoDB MySQL 表資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn