xtrabackup介绍及备份原理

1. Xtrabackup介绍

xtrabackup就percona公司基于innodb公司的ibbackup(收费)实现的一个开源软件,完全覆盖了ibbackup的功能,而且完全免费,可谓是业界良心。

xtrabackup包括两个工具:

xtrabackup 只能备份innodb和xtradb两种引擎的表,不能备份其它引擎的表。

innobackupex 它封装了xtrabackup的perl脚本,覆盖了xtrabackup的功能。它不但可以备份nnodb和xtradb两种引擎的表,还可以备份myisam引擎的表(在备份myisam表时需要加一个读锁)。

Xtrabackup 不但可以实现数据库的完全备份,还实现了数据库的增量备份。

2.  备份恢复流程

2.1   完全备份流程:

1)      innobackupex开启xtrabackup_log监控线程,实时监测redolog文件的变化,将新备份过程中新写入到事务日志中的日志拷贝至innobackup_log中;同时开启xtrabackup拷贝线程,开始拷贝innodb文件。

2)      开始拷贝innodb文件。

3)      复制innodb文件结束后,flush tables with read lock

4)      拷贝非innodb文件,.frm、.MYD MYI等类型的文件。

5)      记录当前binlog及position

6)      将表解锁unlock tables

7)      停止xtrabackup_log线程

2.2 全备恢复流程:

1)      对全备文件进行xtrabackup_log日志回放,并对提交的事务进行重做,同时rollback未提交的事务。

2)      将全备文件复制到mysql 下的data目录下。

2.3 增量备份流程:

增量备份是基于上次全备份,拷贝innodb页中有变更的页(LSN大于xtraback_checkpoints中的LSN号)。第一次增量备份是基于全备的,之后每一次备份都是基于上一次的增备,最终达到一致性的备份。增备与全备的过程类似,区别在于第2 步:

1)  innobackupex开启xtrabackup_log监控线程,实时监测redolog文件的变化,将新备份过程中新写入到事务日志中的日志拷贝至innobackup_log中;同时开启xtrabackup拷贝线程,开始拷贝innodb文件。

2)  开始拷贝自上次innodb备份后,变化的数据页,即当前LSN > xtrabackup_checkpoints中 的LSN。3)  复制innodb文件结束后,flush tables with read lock

4)  拷贝非innodb文件,.frm、.MYD MYI等类型的文件。

5)  记录当前binlog及position

6)  将表解锁unlock tables

7)  停止xtrabackup_log线程

2.4 增备恢复流程:

1)  恢复全备

2)  恢复增备,对未提交的事务进行rollback

3)  对全备与增备合并后的备份文件进行apply_log

4)  将备份文件拷贝到mysql 的data目录下。

3. 安装步骤

安装环境为centos6.5+mysql5.7

  1. shell>https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.1/binary/redhat/6/x86_64/percona-xtrabackup-24-2.4.1-1.el6.x86_64.rpm
  2. rpm –ivh percona-xtrabackup-24-2.4.1-1.el6.x86_64.rpm

安装时提示:

[[email protected] local]# rpm -ivhpercona-xtrabackup-24-2.4.1-1.el6.x86_64.rpm

warning:percona-xtrabackup-24-2.4.1-1.el6.x86_64.rpm: Header V4 DSA/SHA1 Signature,  key ID cd2efd2a: NOKEY

error: Failed dependencies:

libev.so.4()(64bit) is needed bypercona-xtrabackup-24-2.4.1-1.el6.x86_64

原因是需要先安装依赖包libev.so.4

shell> rpm -ivh libev-4.15-1.el6.rf.x86_64.rpm

3. 再次安装:rpm –ivh percona-xtrabackup-24-2.4.1-1.el6.x86_64.rpm 提示安装成功

innobackupex备份恢复的步骤:innobackupex应用案例

时间: 2025-01-05 02:49:37

xtrabackup介绍及备份原理的相关文章

mysqldump和xtrabackup备份原理实现说明

背景: MySQL数据库备份分为逻辑备份和物理备份两大类,犹豫到底用那种备份方式的时候先了解下它们的差异: 逻辑备份的特点是:直接生成SQL语句,在恢复的时候执行备份的SQL语句实现数据库数据的重现. 物理备份的特点是:拷贝相关数据文件. 这二种备份差异 :逻辑备份其备份.还原慢,但备份文件占用的空间小:物理备份其备份还原快,备份文件占用空间大. 到底选择那种备份方式,具体根据自己的实际情况,如需要的是热备还是冷备?数据量大不大?磁盘空间够不够等因素决定. 逻辑备份工具主要有:mysqldump

Percona XtraBackup 备份原理说明【转】

本文来自:http://mysql.taobao.org/monthly/2016/03/07/ 前言 Percona XtraBackup(简称PXB)是 Percona 公司开发的一个用于 MySQL 数据库物理热备的备份工具,支持 MySQL(Oracle).Percona Server 和 MariaDB,并且全部开源,真可谓是业界良心.我们 RDS MySQL 的物理备份就是基于这个工具做的. 项目的 blueprint 和 bug 讨论放在 Launchpad,代码之前也放在 Lau

XtraBackup的备份原理与应用示例

一.XtraBackup简介与安装 XtraBackup是一款免费的在线开源数据库备份解决方案,适用于所有版本的MySQL和MariaDB.XtraBackup支持对InnoDB热备,是一款物理备份工具.可对数据库做完全备份.部分备份.增量备份.差异备份. 1.备份的实现原理 InnoDB存储引擎是基于表空间(table space)进行存储的,表空间中被分成多个块(盘区),将数据分散存储至这些盘区中,每个盘区都有自己的编号,每当数据修改一次,日志序列号就增加1.在完全备份时,是将所有的盘区进行

xtrabackup工具 进行备份和恢复介绍

一.环境准备: 系统CentOS Linux release 7.2.1511 (Core) X_86 64位最小化安装mysql版本是官方二进制版本5.7.22-22,mysql采用的是二进制安装,单机上开启2个mysql实例,mysql实例要开启定时器event_scheduler=ON. 而且2个mysql实例都要开启Gtidxtrabackup 采用的是rpm包安装,版本是version 2.4.13 1.创建测试数据: 创建一个定时器和存储过程来生成数据模拟演示xtrabackup 的

MySQL-物理备份-Percona XtraBackup 备份原理

Percona XtraBackup(简称PXB)是 Percona 公司开发的一个用于 MySQL 数据库物理热备的备份工具,支持 MySQl(Oracle).Percona Server 和 MariaDB,并且全部开源,真可谓是业界良心. 工具集 软件包安装完后一共有4个可执行文件,如下: usr ├── bin │ ├── innobackupex │ ├── xbcrypt │ ├── xbstream │ └── xtrabackup 其中最主要的是 innobackupex 和 x

xtrabackup 备份原理

xtraback是物理备份,非阻塞在线实时备份1.优点: 备份速度很快 备份期间不中断事务 通过压缩节约网络和磁盘 自动备份验证 恢复快 官网提示: Fast and reliable backups Uninterrupted transaction processing during backups Savings on disk space and network bandwidth with better compression Automatic backup verification

xtrabackup备份原理

物理备份(Xtrabackup) 相对于逻辑备份利用查询提取数据中的所有记录,物理备份更直接,拷贝数据库文件和日志来完成备份,因此速度会更快.当然,无论是开源的Mydumper还是官方最新的备份工具(5.7.11的mysqlpump)都支持了多线程备份,所以速度差异可能会进一步缩小,至少从目前生产环境来看,物理备份使用还是比较多的.由于Xtrabackup支持备份innodb表,实际生产环境中我们使用的工具是innobackupex,它是对xtrabackup的一层封装.innobackupex

MySQL备份原理详解

备份是数据安全的最后一道防线,对于任何数据丢失的场景,备份虽然不一定能恢复百分之百的数据(取决于备份周期),但至少能将损失降到最低.衡量备份恢复有两个重要的指标:恢复点目标(RPO)和恢复时间目标(RTO),前者重点关注能恢复到什么程度,而后者则重点关注恢复需要多长时间.这篇文章主要讨论MySQL的备份方案,重点介绍几种备份方式的原理,包括文件系统快照(LVM),逻辑备份工具Mysqldump,Mydumper,以及物理备份工具Xtrabackup,同时会详细讲解几种方案的优缺点,以及可能遇到的

(转)MySQL备份原理详解

MySQL备份原理详解 原文:http://www.cnblogs.com/cchust/p/5452557.html 备份是数据安全的最后一道防线,对于任何数据丢失的场景,备份虽然不一定能恢复百分之百的数据(取决于备份周期),但至少能将损失降到最低.衡量备份恢复有两个重要的指标:恢复点目标(RPO)和恢复时间目标(RTO),前者重点关注能恢复到什么程度,而后者则重点关注恢复需要多长时间.这篇文章主要讨论MySQL的备份方案,重点介绍几种备份方式的原理,包括文件系统快照(LVM),逻辑备份工具M