xtrabackup原理是什么

xtrabackup这个工具可以实现热备份。假如数据库比较大,xtrabackup在备份期间有大量的写操作,必然会导致备份开始和备份结束是不一样的。那xtrabackup是如何保证这种情况的哪?如何知道哪个块备份过  哪个块还没有备份。...显示全部

xtrabackup这个工具可以实现热备份。假如数据库比较大,xtrabackup在备份期间有大量的写操作,必然会导致备份开始和备份结束是不一样的。那xtrabackup是如何保证这种情况的哪?如何知道哪个块备份过  哪个块还没有备份。

收起
参与7

查看其它 1 个回答bryan的回答

bryanbryan软件架构设计师金融研发

https://www.percona.com/doc/percona-xtrabackup/2.3/how_xtrabackup_works.html
主要思路就是复制数据文件+重放redo,复制数据过程需要一些时间,xtrabackup会运行一个后台进程,用于监视事务日志,并从事务日志复制最新的修改。xtrabackup必须持续的做这个操作,是因为事务日志是会轮转重复的写入,并且事务日志可以被重用。所以xtrabackup自启动开始,就不停的将事务日志中每个数据文件的修改都记录下来。在原始数据和备份数据的数据差距小到一定的差距后就可以进行锁表,然后补气所有的差距。

银行 · 2017-05-03
浏览2565

回答者

bryan
bryan0514
软件架构设计师金融研发
擅长领域: 云计算容器容器云

bryan 最近回答过的问题

回答状态

  • 发布时间:2017-05-03
  • 关注会员:4 人
  • 回答浏览:2565
  • X社区推广