innobackupex 部分表恢復

一.測試環境(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  *.cfg5.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後報的錯誤。

wKiom1M9eTHxfUWnAADP5GWUSpM275.jpg


2.2 Mysql 5.6.12 (delete一張表的部分數據、drop 掉某張表都可以恢復)包括percona server >=5.5.X都可以。

下圖是drop一張表後恢復:


wKioL1M9eRygolJJAAD7zGYpLjs534.jpg

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章