mysql 利用ibd文件恢復數據庫 利用拷貝data目錄文件的方式遷移mysql數據庫

mysql 利用ibd文件恢復數據庫,需要有原來數據庫中表的結構

如果數據庫文件非常大的話,這種方式就非常實用了,首先需要備份的數據庫上右鍵——轉儲sql文件——僅結構導出該數據庫的結構的sql文件,然後按照刪除表空間——ibd文件複製到新建的數據庫下——導入表空間的操作即可恢復數據庫中的數據。此法也挺麻煩,需要逐個表進行刪除表空間和恢復表空間,還是數據結構和數據 一塊備份來的利索。

利用拷貝data目錄文件的方式遷移mysql數據庫

需要拷貝的文件包括:數據庫文件(例如上圖所示的gd_base、common、gd_dbwizard等數據庫)和  ibdata1  (這個必須拷貝)這個需要驗證一下。ibdata1肯定與C:\ProgramData\MySQL\MySQL Server 8.0\Data下的ibdata1衝突,導致現有的其他數據庫文件打不開,這個有待驗證!!!

項目踩坑之路_InitiativeYu的博客-CSDN博客

 

此方法mysql5.7版本以上適用。
假如你的數據庫表都沒了,而mysql目錄下的data中.ibd還在的話,你可以試試此方法。
創建一個新的數據庫
創建一個表(表名與待恢復的表名相同),字段結構跟丟失的一樣,
進入該數據庫,刪除該表空間

例如: ALTER TABLE project DISCARD TABLESPACE;

project是我的表

將project.ibd複製到新建的數據庫下,執行命令,導入表空間。

ALTER TABLE project IMPORT TABLESPACE;

這時候查看錶,數據就顯示出來了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章