一.测试环境(Mysql5.5.27-log Mysql5.6.12-log)
create table innobackup(id int,name varchar(20))engine=innodb;
insert into innobackupvalues(1,'a'),(2,'b'), (3,'c'),(4,'d');
1.备份
innobackupex--include="test.innobackup" --defaults-file=/usr/local/mysql55/etc/innodb.cnf/path/to/backup
2.还原
Prepare阶段:
innobackupex--apply-log--use-memory=10M --export /path/to/backup/2014-03-26_23-07-57
restore阶段:
ALTER TABLE database.table DISCARD TABLESPACE;
#### copy *.ibd *.exp *.cfg【5.6强制需要对 table schema校验】
ALTER TABLE database.table IMPORT TABLESPACE;
二.测试结果:
2.1 MySQl 5.5.27
2.1.1 delete 一张表的部分数据,可以恢复
步骤:discardtablespace; ccpy *.idb *.exp 文件到数据目录下;importtablespace;
2.1.2 drop 掉某张表:(可以通过修改 ibd 文件的tablespace id 但是这样危险)
下图是没有修改tablespace id,import tablespace后报的错误。
2.2 Mysql 5.6.12 (delete一张表的部分数据、drop 掉某张表都可以恢复)包括percona server >=5.5.X都可以。
下图是drop一张表后恢复: