1.新建一個數(shù)據(jù)庫--新建一個表,表名和列數(shù)和需要恢復(fù)數(shù)據(jù)庫相同
2.停止mysql服務(wù)器 service mysql stop ,
3.在/usr/local/mysql/my.cnf 里面添加innodb_force_recovery = 6
4.將需要恢復(fù)的表.frm格式文件 覆蓋/usr/local/mysql/data/數(shù)據(jù)庫 下的.frm格式文件
5.啟動mysql服務(wù)器 service mysql start
6.停掉數(shù)據(jù)庫服務(wù) service mysql stop ,將my.cnf 里面的 innodb_force_recovery = 6 注釋掉
7.啟動mysql服務(wù)器 service mysql start
恢復(fù)數(shù)據(jù)
1.先恢復(fù)表結(jié)構(gòu)
2.執(zhí)行 alter table `user` discard tablespace ; 執(zhí)行完之后,數(shù)據(jù)庫目錄下的user.ibd文件就沒了
3.把你備份的ibd放到消失的user.ibd文件那里
4.給這個文件加權(quán)限 chown -R mysql:mysql data 所有者為mysql
5.執(zhí)行 alter table `user` import tablespace; 執(zhí)行完,表數(shù)據(jù)就可讀了,這時候會丟失一些諸如表行記錄數(shù)等存在系統(tǒng)表里的信息