是的,我要把他们俩都杀了.但是我想知道..。
发布于 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的关闭速度,请运行以下命令:
SET GLOBAL innodb_max_dirty_pages_pct = 0;此命令将使脏页的数量保持在最低限度。此命令应在执行备份的rsync方法前一小时运行。这甚至可能对XtraBackup也有帮助,尽管XtraBackup不需要mysql关闭。
https://dba.stackexchange.com/questions/3354
复制相似问题