Percona XtraBackup 关于 MySQL备份还原的详细测试

一. Percona XtraBackup 的优点。

(1)无需停止数据库进行InnoDB热备;

(2)增量备份MySQL

(3)流压缩传输到其它服务器;

(4)在线移动表;

(5)能够比较容易地创建主从同步;

(6)备份MySQL时不会增大服务器负载。

 二. Percona XtraBackup 工具集组成

在旧版本中,Percona XtraBackup 工具集里主要包含两个程序:innobackupex 和 xtrabackup。

xtrabackup是C/C++编译的二进制程序,用来备份InnoDB的,并不能备份非InnoDB表,它在内部实现了对InnoDB的热备份。

innobackupex由perl脚本编写,是对xtrabackup的封装,通过调用xtrabackup命令来备份InnoDB表,通过调用mysqldump等命令来实现对非InnoDB表的备份,并且会和MySQL数据库发送命令交互,例如获取Binlog位点、添加锁操作。

因为我们公司,大量使用 innodbbackupex 备份还原,所以,本文的讲解测试仍是以innodbbackupex为主。

 三. innodbbackupex常用的参数选项 参数选项   作用描述   备注  
--host   指定数据库实例的IP地址。   备份阶段  
--port   连接数据库实例的端口号。   备份阶段  
--user   备份时连接数据库实例/数据库的用户名。   备份阶段  
--password   连接所用账号的密码。   备份阶段  
--copy-back   将准备好的备份文件从备份目录复制到原始位置,其原始位置目录必须为空,否则报错(除非指定--force-non-empty-directories选项)。   恢复阶段  
--incremental   该选项表示创建增量备份,而不是全量备份。   备份阶段  
--incremental-basedir   该选项接受一个字符串参数,表示包含作为增量备份基本数据集的完整备份的目录。与--incremental一起使用。   备份阶段  
--incremental-dir   该选项接受一个字符串参数,表示增量备份与完整备份的目录,以进行新的完整备份。与--incremental一起使用。   备份阶段  
--redo-only   在prepare阶段,完整备份合并除最后一个增量之外的所有增量时,使用该选项。迫使innobackupex跳过“回滚”阶段,只做一次“重做”。如果已经在全量备份上重放了提交的事务并回滚了未提交的事务,则无法在此备份上添加增量。同样,如果在增量备份上执行,则无法添加其余的增量备份。   Prepare阶段  
--incremental-lsn   增量备份是基于LSN来完成的,所以,增量备份也可以指定LSN值进行。   备份阶段  
--apply-log   在创建备份后,备份数据其实处于不可用状态。因为在redo log中可能存在未提交的事务和已提交的事务,需要通过准备阶段来使备份数据达到一致状态。通过此阶段,备份数据就可以用来恢复了。在准备阶段,需要指定的参数选项就包含apply-log。      
--socket   该选项表示mysql.sock所在位置,以便备份进程登录mysql。在MySQL多实例场景下,需指明。      
           
 四. 安装

这个版本是 Percona XtraBackup 2.4 版本。

Step 1 :下载执行文件

wget https://RedHat/6/x86_64/Percona-XtraBackup-2.4.9-ra467167cdd4-el6-x86_64-bundle.tar

step 2 :解压执行文件

tar -xvf Percona-XtraBackup-2.4.9-ra467167cdd4-el6-x86_64-bundle.tar

step 3:安装

yum install percona-xtrabackup-24-2.4.9-1.el6.x86_64.rpm –y

step 4 安装验证

查看 可执行文件

which xtrabackup

版本检查

xtrabackup --version

 五. 全量备份与全量恢复  Step 1 环境介绍及准备 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/1ff901554489c2df36755fa169c5df29.html