原理
percona xtrabackup备份过程主要分为以下几点:
1、xtrabackup在启动时会记住LSN(log sequence number),然后复制所有的数据文件
2、xtrabackup会运行一个后台进程,用于监控事务日志(redo.log),并从事务日志中复制最新的修改
3、准备过程(prepare),xtrabackup使用之前复制的事务日志,对各个数据文件执行灾难恢复
4、执行flush tables with read lock来阻止新的写入进来,并把MyISAM表数据刷写到硬盘上,之后复制MyISAM数据文件,最后释放锁。
其中1-3步骤是xtrabackup来实现,第4步由innobackupex来实现。
备份MyISAM和Innodb表最终会处于一致,在prepare过程结束后,Innodb表数据已经前滚到整个备份数据结束的点,而不是回滚到xtrabackuo刚开始的点。
通过复制数据文件、日志文件和提交日志到数据文件(前滚)实现各种复合备份方式。
innobackupex备份对MyISAM表之前要对全库进行加READ LOCK,阻塞写操作,对Innodb表备份不会阻塞读写。
原文:http://www.cnblogs.com/gsblog/p/3553155.html