Mysql 通过frm&ibd 恢复数据 [ 2.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.ini
里 innodb_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
晦涩de咚
注册时间:2015-08-03
最后登录:2020-09-04
在线时长:356小时20分
最后登录:2020-09-04
在线时长:356小时20分
- 粉丝36
- 金钱13598
- 威望340
- 积分20558
共 0 条评论