Mysql 备份方式 MySQL Agent & MySQL Enterprise Backup & Percona XtraBackup

一、NetBackup for MySQL Agent 简介

1.1关于 NetBackup for MySQL 代理

NetBackup for MySQL Agent 扩展了NetBackup的功能,以包括MySQL数据库的
备份和还原操作。代理位于NetBackup客户端上并支持独立的设置操作。代理支持MySQL 版本 5.5.5 及更高版本。
此外,代理还支持:
■ 验证备份信息。
■ 查询备份。
■ 从目录库文件中删除备份信息。
■ 将还原重定向到不同于最初执行备份的客户端的另一客户端。

1.2NetBackup for MySQL 工作流程

代理从 nbmysql.conf 文件读取参数,然后启动操作。nbmysql.conf 文件包括必
须在运行相应操作之前设置的参数。代理与 MySQL 数据库进行通信以创建快照。适用于 Windows 的卷影复制服务
(VSS) 或适用于 Linux 的逻辑卷管理器 (LVM) 创建数据库的快照。然后,代理与NetBackup XBSA接口进行交互以更新服务器名称、策略和日程表类
型信息。NetBackup 主服务器连接到 NetBackup 客户端以备份或检索要保护的数据。代理装入快照,复制文件,然后将其发送到 NetBackup XBSA 接口。
NetBackup XBSA 接口将此数据写入由 NetBackup 介质服务器管理的装入介质或磁盘存储。

1.3操作系统和平台兼容性

验证操作系统和平台是否支持 NetBackup for MySQL Agent。代理支持以下平台上的操作:
■ Red Hat Enterprise Linux (RHEL) 6.8 及更高版本
■ SUSE Enterprise Linux Server 11 SP3 及更高版本
■ Microsoft Windows Server 2008 R2 及更高版本
■ Microsoft Windows 8.1 及更高版本

二、MySQL Enterprise Backup

2.1简介

MySQL Enterprise Backup 8.0.20是MySQL 8.0.20的备份实用程序。它是一个多平台的高性能工具,提供了丰富的功能,
例如“ 热 ”(在线)备份,增量和差异备份,选择性备份和还原,支持直接云存储备份,备份加密和压缩以及许多其他有价值的功能特征。
经过优化以用于InnoDB表,MySQL Enterprise Backup能够备份和还原由MySQL支持的任何类型的存储引擎创建的各种表。
它的读写过程(在独立的,多个线程中执行)的并行性和块级并行性(不同的线程可以在单个文件中读取,处理或写入不同的块),可以以很高的速度完成备份和还原过程,
并且与logical backup使用mysqldump之类的工具 相比,通常可以显着提高性能 。
MySQL Enterprise Backup是用于维护和保护MySQL数据以及在发生事故或灾难时快速可靠地进行恢复的宝贵工具。它是MySQL企业版的一部分,可根据商业许可向订户提供。

2.2备份过程

通常,使用mysqlbackup运行备份操作时会发生以下情况:

a.当数据库服务器照常运行时,InnoDB数据文件,重做日志,二进制日志和中继日志文件(当前正在使用的日志文件除外)将被复制到备份中。

在此期间,InnoDB表的数据和结构可能已更改。因此,以下某些步骤用于确保备份中捕获了这些更改。

b.一个备份锁 应用服务器实例。它阻止InnoDB表上的DDL操作(用户创建的临时表上的操作除外),但不阻止DML操作(除了二进制日志未捕获的操作(如数据库的管理更改)之外的DML操作)。仍然允许数据库上的大多数读写活动。应用此锁定后, mysqlbackup扫描自步骤1开始已由DDL操作修改过的InnoDB表,并相应地更改备份。

c.一条 语句应用于所有非InnoDB表(对于8.0.18及更高版本,仅适用于要包含在备份中的非InnoDB表),然后复制与备份相关的所有非InnoDB表。 FLUSH TABLES tbl_name [, tbl_name] ... WITH READ LOCK

d.如果数据库上不存在用户创建的非InnoDB表,则将跳过此步骤。

e.对服务器上的日志记录活动进行了简短的阻止,以便mysqlbackup收集与日志记录有关的信息,例如当前的InnoDB LSN,二进制日志位置,GTID,复制主服务器或从属服务器状态,等等。

f.非InnoDB表上的读取锁已释放。

g.使用来自上面第4步的信息,复制当前正在使用的二进制或中继日志文件的相关部分。这确保了自第1步以来对InnoDB表的所有最近更改都已捕获到备份中,因此可以稍后将它们应用于原始备份数据,以使还原的服务器进入一致状态。

h.该备份锁定的服务器实例被释放。数据库现在返回到其正常操作。

i.之前尚未复制的重做日志文件以及备份的所有元数据文件都已复制或创建。

j.备份操作完成,并且 mysqlbackup返回成功。

2.3兼容性

与MySQL版本的兼容性
MySQL Enterprise Backup 8.0.20仅支持MySQL 8.0.20。
对于MySQL 8.0的早期版本,请使用与服务器相同版本号的MySQL Enterprise Backup版本。
对于MySQL 5.7,请使用MySQL Enterprise Backup 4.1。
对于MySQL 5.6和更早版本,请使用MySQL Enterprise Backup 3.12。
MySQL Enterprise Backup 8.0.20与早期的MySQL Enterprise Backup版本不兼容-不适用于使用它们创建的备份。

三、Percona XtraBackup

3.1 Percona XtraBackup

是 Percona 公司开发的一个用于 MySQL 数据库物理热备的备份工具,支持 MySQl(Oracle)、Percona Server 和 MariaDB,并且全部开源,真可谓是业界良心。我们 RDS MySQL 的物理备份就是基于这个工具做的。

3.2 备份过程

posted @ 2020-05-06 17:41  HR·  阅读(1648)  评论(0编辑  收藏  举报