注:恢復(fù)之前一定要備份原始數(shù)據(jù)!備份數(shù)據(jù)!備份數(shù)據(jù)!備份數(shù)據(jù)!此方式針對mysql8以上新測有效,其它未知。
步驟如下 :
- 創(chuàng)建要恢復(fù)表對應(yīng)的表結(jié)構(gòu),如果有,則直接先創(chuàng)建表結(jié)構(gòu),如果沒有,則使用mysql自帶的ibd2sdi讀取.ibd表結(jié)構(gòu)內(nèi)容,手動創(chuàng)建表字段等。
ibd2sdi --dump-file=./abc.txt table_xxx.ibd #解析table_xxx.ibd表結(jié)構(gòu)
- 執(zhí)行ALTER TABLE table_xxx DISCARD TABLESPACE。
- copy table_xxx.ibd文件到新mysql data目錄對應(yīng)的數(shù)據(jù)庫中。
- ALTER TABLE table_xxx IMPORT TABLESPACE。#導(dǎo)入即可看到原始數(shù)據(jù)。