MYSQL .ibd文件數據恢復

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

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

--------恢復frm表結構------`切記:必定要按照順序操做,不然庫會死掉,要從新安裝從新來一波`------------------

一、正常mysql服務中建立一樣的表名,字段隨意1個,表名必須與.frm徹底一致
create table app_info(id int);數據庫

二、中止數據庫服務my.ini中追加
【mysqld】
innodb_force_recovery=6
三、把*.frm進行物理覆蓋
四、啓動服務執行
desc app_info報錯,找到.err文件中的真實列數(個人事例中能夠看出是7列)
MYSQL .ibd文件數據恢復app

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

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

而後選中表右鍵「對象信息」能夠看到DLL
MYSQL .ibd文件數據恢復對象

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

相關文章
相關標籤/搜索