一.測試環境(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一張表後恢復: