晦涩de咚 2017-07-31 14:50:30 2815次浏览 0条评论 0 0 0

1、新建数据库 CREATE DATABASE restores;
2、猜想恢复数据表的字段数,并新建

CREATE TABLE `test` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

3、断开数据库服务 service mysqld stop; ,并修改my.iniinnodb_force_recovery=6
4、将需要恢复的test.frm替换掉刚刚data\restores\test.frm;并启动mysql服务
5、查看恢复表,SHOW CREATE TABLE test,如果成功,恭喜你第二步猜想正确,反之,错误!如果错误请查看mysql-log;

InnoDB: Table restores/test contains 1 user defined columns in InnoDB, but **4 columns** in MySQL

回到第二步重新新建4个字段的test表,重新开始
6、到现在为止;你的数据表字段已恢复,接下来恢复数据
7、分离当前ibd的数据文件和frm;ALTER TABLE test DISCARD TABLESPACE;
8、把待恢复test.ibd添加到data\restores\test.ibd
9、绑定当前的ibd 和frmALTER TABLE ko_statement_after_flow IMPORT TABLESPACE;
10、如果数据没有成功,则调整innodb_force_recovery=6

    没有找到数据。
您需要登录后才可以评论。登录 | 立即注册