MYSQL .ibd文件數據恢復

恢復還原mysql中的.ibd文件。
1、需先創建一個一樣的數據庫表結構
2、刪除表空間
ALTER TABLE "+dbName+" DISCARD TABLESPACE;
3、複製xxxxx.ibd文件到數據庫目錄下

4、恢復導入表空間
ALTER TABLE "+dbName+" IMPORT TABLESPACE;

--------恢復frm表結構------`切記:一定要按照順序操作,否則庫會死掉,要重新安裝重新來一波`------------------

1、正常mysql服務中創建同樣的表名,字段隨意1個,表名必須與.frm完全一致
create table app_info(id int);

2、停止數據庫服務my.ini中追加
【mysqld】
innodb_force_recovery=6
3、把*.frm進行物理覆蓋
4、啓動服務執行
desc app_info報錯,找到.err文件中的真實列數(我的事例中可以看出是7列)
MYSQL .ibd文件數據恢復

5、停止服務,去掉my.ini中的innodb_force_recovery=6,再啓動服務,刪除數據表。
刪除後創建對應的列數表
create table app_info(id1 int,id2 int,id3 int,id4 int,id5 int,id6 int,id7 int);

6、重複2、3步驟
服務啓動後執行desc即可看到完整的表結構
MYSQL .ibd文件數據恢復

然後選中表右鍵“對象信息”可以看到DLL
MYSQL .ibd文件數據恢復

7、再次停止服務,去掉my.ini中的innodb_force_recovery=6,再啓動服務,刪除數據表,指定獲取的真實dll即可還原表結構

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