1. 程式人生 > >windows mysql5.7 InnoDB 通過frm與ibd對資料進行恢復

windows mysql5.7 InnoDB 通過frm與ibd對資料進行恢復

參考:https://www.jianshu.com/p/50a2e13cd5cf

  • 安裝MySQL Utilities
    下載地址:https://dev.mysql.com/downloads/utilities/
    下載完後直接安裝即可
    如果執行時需要python就下載 https://dev.mysql.com/downloads/connector/python/
    本機還需要安裝與需要恢復資料的一樣版本的Mysql

  • 使用mysqlfrm命令讀取frm的表結構
    把需要進行資料恢復的frm檔案放到一個目錄裡
    mysqlfrm --diagnostic ./frm檔案目錄/
    這樣就可以獲得資料表的結構了。

  • 建立新的資料庫
    把第二步獲得的資料表結構執行,(利用舊的指令碼)建立表。

  • 對已建立的表進行表空間解除安裝
    ALTER TABLE 表名 DISCARD TABLESPACE;
    每個表都進行一次空間解除安裝
    停掉MYSQL服務

  • 把原始資料檔案裡的ibd檔案拷到新的資料庫資料夾裡
    這裡要注意把拷過來的ibd檔案的所有者為mysql
    chwon mysql:mysql 資料庫資料夾/*
    啟動MYSQL服務

  • 對資料表進行空間裝載
    ALTER TABLE 表名 IMPORT TABLESPACE;
    每個表都進行一次空間裝載