是的,我要依靠他们俩...但是,我想知道...

  • Xtrabackup在Rsync -AC SRC DEST上做什么?
  • Xtrabbackup有什么特别之处?
  • Xtrabackup如何与MySQLD进行交互?
有帮助吗?

解决方案

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(迄今为止,嘿200,000下载。Facebook是其中最大的用户之一。相信)。换句话说,如果我在午夜开始Xtrabackup,并且备份持续到2:20 AM,那么备份的实际时间点是2:20 AM。使用RSYNC具有相同的移动目标问题,因为您必须手动执行多个RSYNC,然后确定何时在最终RSYNC之前发布“服务MySQL Stop”。

这些方法有所不同 mysqld必须关闭 使用Rsync方法,而Xtrabackup独立于MySQLD。实际上,Xtrabackup根本不会与MySQLD交互,除非通过包装器软件处理Myisam表。 Xtrabackup尝试使用InnoDB存储引擎操作构建功能齐全的InnoDB数据和日志文件,并与MySQLD分开且不同。

关闭MySQL对于RSYNC方法非常必要是一个很大的原因:InnoDB缓冲池可以容纳“ Dirty Pages”,这些页面是数据和索引页(1页= 16KB),这些页面尚未写回磁盘。使用RSYNC不会在InnoDB缓冲池中捕获待处理的数据更改。为了加快MySQLD的关闭,为最终的Rsync加速,请运行此命令:

SET GLOBAL innodb_max_dirty_pages_pct = 0;

该命令将使肮脏的页面数量保持在最低限度。该命令应在执行RSYNC备份方法之前大约一小时运行。尽管Xtrabackup不需要MySQL关闭,但这甚至可能也可能有助于Xtrabackup。

许可以下: CC-BY-SA归因
不隶属于 dba.stackexchange
scroll top