首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XtraBackup和rsync有什么区别?

XtraBackup和rsync有什么区别?
EN

Database Administration用户
提问于 2011-06-16 23:33:05
回答 1查看 6.2K关注 0票数 11

是的,我要把他们俩都杀了.但是我想知道..。

  • XtraBackup除了rsync -ac src之外还在做什么?
  • XtraBbackup有什么特别之处?
  • XtraBackup是如何与mysqld交互的?
EN

回答 1

Database Administration用户

回答已采纳

发布于 2011-06-17 03:17:45

rsync只是数据从一个地方到另一个地方的逐个字节的强制拷贝.您将执行多个rsyncs,直到最后一次rsync,这是非常快的。然后,您将完全关闭MySQL并再执行一次rsync。

XtraBackup是一个全面的工具,它表现得像rsync,但在生活中有着直接的目的。它可以从复制所有InnoDB数据和表空间开始。它能够在内部创建检查点,并执行就地InnoDB崩溃恢复,以帮助获得完美的实时备份。XtraBackup还有一个额外的特性,允许创建增量备份。另一个附加特性是创建InnoDB日志文件,也是通过就地崩溃恢复构建的。还有一些包装软件可以提供MyISAM表的冻结复制。

这两种方法都很棒。XtraBackup简单地将InnoDB事务特性实现到大多数初始复制中。Xtrabackup创建的文件可以放到已建立的MySQL基础结构中。可以说,XtraBackup提供了工具性备份和物化的、非常有用的InnoDB文件。

使用rsync会迫使您多次管理复制过程,并以mysql关机来限制它,以要求对rsync进行一次干预。

使用一个而不是另一个可能是个人的喜好。必须承认的一点是: XtraBackup所做的备份比复制的数据要大一些。我把选择这个问题的方法留给读者。

我更喜欢rsync,因为它使用简单,我可以在进程开始之前确定特定的时间点,我还可以完全控制如何锁定mysqld或关闭它,何时可以执行这种控制,以及我所指定的任何顺序。

这两种备份风格都有一个共同之处:对于XtraBackup,在备份过程完成之前,实际的时间点是一个移动目标,并且您必须信任XtraBackup (到目前为止,下载次数为20万次)。Facebook是最大的用户之一。它赢得了很多信任)。换句话说,如果我在午夜启动XtraBackup,备份持续到凌晨2:20,那么备份的实际时间是凌晨2:20。使用rsync存在相同的移动目标问题,因为您必须手动执行多个rsyncs,然后在最终rsync之前确定何时发出“服务mysql停止”。

这些方法的不同之处在于使用rsync方法必须关闭mysqld,而XtraBackup则独立于mysqld。事实上,除了通过包装软件处理XtraBackup表时,MyISAM与mysqld没有很大程度的交互。XtraBackup试图使用与mysqld分离和区别的InnoDB存储引擎操作构建功能齐全的InnoDB数据和日志文件。

关闭mysql对于rsync方法是非常必要的,原因很大: InnoDB缓冲池可以容纳“脏页”,即尚未写入磁盘的数据和索引页(1 Page =16 to )。使用rsync不会捕获InnoDB缓冲池中挂起的数据更改。要加快最终rsync的mysqld的关闭速度,请运行以下命令:

代码语言:javascript
复制
SET GLOBAL innodb_max_dirty_pages_pct = 0;

此命令将使脏页的数量保持在最低限度。此命令应在执行备份的rsync方法前一小时运行。这甚至可能对XtraBackup也有帮助,尽管XtraBackup不需要mysql关闭。

票数 16
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/3354

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档