Percona XtraBackup 简介及特点, Percona XtraBackup 与 mysqlbackup对比;

Percona XtraBackup

简介

Percona XtraBackup是世界上唯一的开源免费MySQL热备份软件,可为InnoDB和XtraDB数据库执行无阻塞备份。使用Percona XtraBackup,您可以获得以下好处:

备份快速可靠地完成
备份期间不间断的事务处理
节省磁盘空间和网络带宽
自动备份验证
由于更快的恢复时间,正常运行时间更长
Percona XtraBackup为所有版本的Percona Server,MySQL和MariaDB提供MySQL热备份。它执行流式,压缩和增量MySQL备份。

Percona XtraBackup可与MySQL,MariaDB和Percona Server配合使用。它支持InnoDB,XtraDB和HailDB存储引擎的完全非阻塞备份。此外,它还可以通过在备份结束时暂时暂停写入来备份以下存储引擎:MyISAM,Merge和Archive,包括分区表,触发器和数据库选项。

Percona的企业级商业MySQL支持合同包括对Percona XtraBackup的支持,建议在生产环境上部署。

 

MySQL Backup Tool Feature Comparison(mysql备份工具特性对比)

FeaturesPercona XtraBackupMySQL Enterprise backup
证书GPLProprietary
价格FreeIncluded in subscription at $5000 per Server
流和加密格式Open sourceProprietary
支持的MySQL类型MySQLPercona ServerMariaDBPercona XtraDB ClusterMariaDB Galera ClusterMySQL
支持的操作系统LinuxLinux, Solaris, Windows, OSX, FreeBSD.
非阻塞InnoDB备份[1]YesYes
阻塞MyISAM备份YesYes
增量备份YesYes
全压缩备份YesYes
增量压缩备份Yes 
快速增量备份 [2]Yes 
Percona Server中的存档日志增量备份Yes 
仅使用REDO日志进行增量备份 Yes
备份锁 [8]Yes 
加密备份YesYes [3]
流式备份YesYes
并行本地备份YesYes
并行压缩YesYes
并行加密YesYes
并行应用日志Yes 
并行复制 Yes
部分复制YesYes
各个分区的部分备份Yes 
节流 [4]YesYes
备份image验证 Yes
时间点恢复支持YesYes
安全从备份Yes 
紧凑备份 [5]Yes 
缓冲池状态备份Yes 
单个表导出YesYes [6]
单个分区导出Yes 
将表还原到其他服务器 [7]YesYes
数据和索引文件统计信息Yes 
InnoDB二级索引碎片整理Yes 
rsync支持最小化锁定时间Yes 
改进的FTWRL处理是Yes 
备份历史记录表YesYes
备份进度表 Yes
离线备份 Yes
备份到磁带介质管理器 Yes
云备份支持 Amazon S3
用于备份/恢复的外部图形用户界面Zmanda Recovery Manager for MySQLMySQL Workbench, MySQL Enterprise Monitor

[1]在复制非InnoDB数据时,InnoDB表仍处于锁定状态。
[2] Percona Server支持快速增量备份,并启用了XtraDB更改页面跟踪。
[3] Percona XtraBackup支持使用任何类型的备份进行加密。 MySQL Enterprise Backup仅支持单文件备份加密。
[4] Percona XtraBackup根据每秒的IO操作数执行限制。 MySQL Enterprise Backup支持操作之间可配置的休眠时间。
[5] Percona XtraBackup会跳过辅助索引页面,并在准备好紧凑备份时重新创建它们。 MySQL Enterprise Backup会跳过未使用的页面并重新插入准备阶段。
[6] Percona XtraBackup甚至可以从完整备份导出单个表,无论InnoDB版本如何。 MySQL Enterprise Backup仅在执行部分备份时使用InnoDB 5.6可传输表空间。
[7]使用Percona XtraBackup导出的表可以导入Percona Server 5.1,5.5或5.6+或MySQL 5.6+。使用MySQL Enterprise Backup创建的可传输表空间只能导入Percona Server 5.6 +,MySQL 5.6+或MariaDB 10.0+。
[8]备份锁是Percona Server 5.6+中提供的FLUSH TABLES WITH READ LOCK的轻量级替代品。 Percona XtraBackup自动使用它们来复制非InnoDB数据,以避免阻止修改InnoDB表的DML查询。

特点

  • InnoDB热备份而不暂停数据库
  • 进行MySQL的增量备份
  • 将压缩的MySQL备份流式传输到另一台服
  • 在线MySQL服务器之间移动表
  • 轻松创建新的MySQL复制从属
  • 备份MySQL而不向服务器添加负载

工作原理

Percona XtraBackup基于InnoDB的崩溃恢复功能。它会复制您的InnoDB数据文件,从而导致内部不一致的数据;但随后它会对文件执行崩溃恢复,以使它们再次成为一致的可用数据库。

这是有效的,因为InnoDB维护一个重做日志,也称为事务日志。这包含对InnoDB数据的每次更改的记录。当InnoDB启动时,它会检查数据文件和事务日志,并执行两个步骤。它将已提交的事务日志条目应用于数据文件,并对修改数据但未提交的任何事务执行撤消操作。

Percona XtraBackup通过在启动时记住日志序列号(LSN),然后复制数据文件来工作。这需要一些时间,所以如果文件正在改变,那么它们会在不同的时间点反映数据库的状态。与此同时,Percona XtraBackup运行后台进程,监视事务日志文件,并从中复制更改。 Percona XtraBackup需要不断地执行此操作,因为事务日志是以循环方式编写的,并且可以在一段时间后重用。 Percona XtraBackup需要事务日志记录,以便在数据文件开始执行后对其进行每次更改。

Percona XtraBackup将使用备份锁定作为FLUSH TABLES WITH READ LOCK的轻量级替代品。 Percona Server 5.6+中提供此功能。 Percona XtraBackup自动使用它来复制非InnoDB数据,以避免阻止修改InnoDB表的DML查询。当服务器支持备份锁时,xtrabackup将首先复制InnoDB数据,运行LOCK TABLES FOR BACKUP并复制MyISAM表和.frm文件。完成此操作后,将开始备份文件。它将备份.frm,.MRG,.MYD,.MYI,.TRG,.TRN,.ARM,.ARZ,.CSM,.CSV,.par和.opt文件。

注意

锁定仅针对MyISAM和其他非InnoDB表进行,并且仅在Percona XtraBackup完成备份所有InnoDB / XtraDB数据和日志之后。 Percona XtraBackup将使用备份锁定作为FLUSH TABLES WITH READ LOCK的轻量级替代品。 Percona Server 5.6+中提供此功能。 Percona XtraBackup自动使用它来复制非InnoDB数据,以避免阻止修改InnoDB表的DML查询。

之后,xtrabackup将使用LOCK BINLOG FOR BACKUP来阻止可能更改二进制日志位置或Exec_Master_Log_Pos或Exec_Gtid_Set的所有操作(即,对应于复制从站上当前SQL线程状态的主二进制日志坐标),如SHOW MASTER / SLAVE STATUS所报告的。然后,xtrabackup将完成复制REDO日志文件并获取二进制日志坐标。完成此操作后,xtrabackup将解锁二进制日志和表。

最后,二进制日志位置将打印到STDERR,如果一切正常,xtrabackup将退出返回0。

请注意,xtrabackup的STDERR不会写入任何文件。您必须将其重定向到文件,例如,xtrabackup OPTIONS 2> backupout.log。

它还将在备份目录中创建以下文件。

在准备阶段,Percona XtraBackup使用复制的事务日志文件对复制的数据文件执行崩溃恢复。完成此操作后,数据库就可以恢复和使用了。

备份的MyISAM和InnoDB表最终会相互一致,因为在准备(恢复)过程之后,InnoDB的数据会前滚到备份完成的点,而不是回滚到它的位置。开始。此时间点与FLUSH TABLES WITH READ LOCK的位置匹配,因此MyISAM数据和准备好的InnoDB数据同步。

xtrabackup和innobackupex工具都提供了许多前面解释中没有提到的功能。本手册中将进一步详细介绍每种工具的功能。但简而言之,这些工具允许您使用复制数据文件,复制日志文件以及将日志应用于数据的各种组合来执行流式传输和增量备份等操作。

恢复备份
要使用xtrabackup还原备份,您可以使用xtrabackup --copy-back或xtrabackup --move-back选项。

xtrabackup将从my.cnf读取变量datadir,innodb_data_home_dir,innodb_data_file_path,innodb_log_group_home_dir并检查目录是否存在。

它将首先复制MyISAM表,索引等(.frm,.MRG,.MYD,.MYI,.TRG,.TRN,.ARM,.ARZ,.CSM,.CSV,par和.opt文件),接下来是InnoDB表和索引,最后是日志文件。它将在复制时保留文件的属性,您可能必须在启动数据库服务器之前将文件的所有权更改为mysql,因为它们将由创建备份的用户拥有。

或者,xtrabackup --move-back选项可用于恢复备份。此选项类似于xtrabackup  仅使用copy-back选项。

 

 

参考:1.   xtrabackup简介: https://www.percona.com/doc/percona-xtrabackup/LATEST/intro.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值