若是想看到ibd裏面的數據,咱們必須讓space id 與剛啓動的mysql ibdata裏面的記錄的表id一致;
新建一個表innodb,ibdata裏面的表id就會+1,而剛纔已經新建過表了,因此id已經+1了
故咱們還須要新建26560-1(剛纔新建的)-1(要恢復的表)=26558個表
for i in `seq 0 26557`; do mysql --user=××× ××××× -e "CREATE TABLE iinser$i (id bigint(20) NOT NULL AUTO_INCREMENT,PRIMARY KEY (id)) ENGINE=innodb "; done
3)導入要恢復的表
a:在另一個測試庫裏按照第2步導出的表結構新建表;
b:alter table five_monitor discard tablespace;
c:cp 要恢復的ibd 到剛建的表的目錄裏,並修改mysql權限
d:alter table five_monitor import tablespace;
4)在配置文件裏添加innodb_force_recovery = 6,而後啓動;
這樣你就能看到你想要的數據了。固然必定要經過dump 或者select * from into outfile把data導出;