2)基于所有的备份将未提交的事务进行“回滚”。
完全备份“准备”
| [root@stu18 ~] # innobackupex --apply-log --redo-only/innobackup/2013-08-14_08-14-12/ |
第一次增量备份“准备”也就是说将第一次增量备份合并到了完全备份中
| [root@stu18 ~] # innobackupex --apply-log--redo-only /innobackup/2013-08-14_08-14-12/--incremental-dir=/innobackup/2013-08-14_08-29-05/ |
第二次增量备份“准备”也就是说将第二次增量备份也合并到了完全备份中
| [root@stu18 ~] # innobackupex --apply-log--redo-only /innobackup/2013-08-14_08-14-12/ --incremental-dir=/innobackup/2013-08-14_09-08-39/ |
其中 –redo-only是只将已提交的事务同步到数据文件中,未提交的事务日志不在进行回滚了。
(4)恢复数据(基于innobackupex基于完全+增量)
| [root@stu18 ~] # innobackupex --copy-back/innobackup/2013-08-14_08-14-12/ |
(5)更改属组属主
| [root@stu18 ~] # cd /mydata/data/ [root@stu18 data] # chown -R mysql:mysql * |
(6)启动查看
| [root@stu18 ~] # mysql -uroot -pmypas mysql> select * from coc; +----+---------+----------+ | ID | ClassID | CourseID | +----+---------+----------+ | 1| 1 | 2 | | 2| 1 | 5 | | 3| 2 | 2 | | 4| 2 | 6 | | 5| 3 | 1 | | 6| 3 | 7 | | 7| 4 | 5 | | 8| 4 | 2 | | 9| 5 | 1 | | 10 | 5 | 9 | | 11 | 6 | 3 | | 12 | 6 | 4 | | 13 | 7 | 4 | | 14 | 7 | 3 | +----+---------+----------+ 14 rows in set (0.00 sec) |
结果显示数据正确完整,但是第三次的改动信息未生效。
(7)基于二进制日志实现数据恢复
查看最后一次增量备份二进制日志所在的位置:
| [root@stu18 data] # cd /innobackup/2013-08-14_09-08-39/ [root@stu18 2013-08-14_09-08-39] # cat xtrabackup_binlog_info mysql-bin.000001 780 |
查看二进制日志文件将未备份数据的二进制日志导出
| [root@stu18 innobackup] # mysqlbinlog mysql-bin.000001 # at 780 #130814 9:20:19 server id 1 end_log_pos 851 Query thread_id=7 exec_time=0 error_code=0 SET TIMESTAMP=1376443219/*!*/; BEGIN /*!*/; # at 851 #130814 9:20:19 server id 1 end_log_pos 944 Query thread_id=7 exec_time=0 error_code=0 SET TIMESTAMP=1376443219/*!*/; delete from coc where id=14 /*!*/; # at 944 #130814 9:20:19 server id 1 end_log_pos 1016 Query thread_id=7 exec_time=0 error_code=0 SET TIMESTAMP=1376443219/*!*/; COMMIT /*!*/; DELIMITER ; # End of log file ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; /*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/; [root@stu18 innobackup] # mysqlbinlog --start-position=780 mysql-bin.000001 > ./all.sql #导出数据 |
恢复数据










