1、Xtrabackup 介绍
Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品。
Xtrabackup有两个主要的工具:xtrabackup、innobackupex
1、xtrabackup只能备份InnoDB和XtraDB两种数据表,而不能备份MyISAM数据表
2、innobackupex是参考了InnoDB Hotbackup的innoback脚本修改而来的.innobackupex是一个perl脚本封装,封装了xtrabackup。主要是为了方便的 同时备份InnoDB和MyISAM引擎的表,但在处理myisam时需要加一个读锁。并且加入了一些使用的选项。如slave-info可以记录备份恢 复后,作为slave需要的一些信息,根据这些信息,可以很方便的利用备份来重做slave。
2、Xtrabackup下载
从下载页面下载适用于系统的软件包:https://www.percona.com/downloads/XtraBackup/
使用wget工具下载 percona-xtrabackup-24-2.4.12-1.el6.x86_64.rpm
[root@localhost donghua]# wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.12/binary/redhat/6/x86_64/percona-xtrabackup-24-2.4.12-1.el6.x86_64.rpm
--2019-11-13 13:30:17-- https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.12/binary/redhat/6/x86_64/percona-xtrabackup-24-2.4.12-1.el6.x86_64.rpm
Resolving www.percona.com (www.percona.com)... 74.121.199.234
Connecting to www.percona.com (www.percona.com)|74.121.199.234|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 8518916 (8.1M) [application/x-redhat-package-manager]
Saving to: 'percona-xtrabackup-24-2.4.12-1.el6.x86_64.rpm.1'
100%[===================================================================================================================================================================================================>] 8,518,916 1.46MB/s in 12s
2019-11-13 13:30:31 (714 KB/s) - 'percona-xtrabackup-24-2.4.12-1.el6.x86_64.rpm.1' saved [8518916/8518916]
[root@localhost donghua]#
为了成功安装Persona XtraBackup,libev包需要先安装,libev包可以从epel存储库安装。
[root@localhost donghua]# wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
--2019-11-13 13:34:25-- https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
Resolving dl.fedoraproject.org (dl.fedoraproject.org)... 209.132.181.23, 209.132.181.24, 209.132.181.25
Connecting to dl.fedoraproject.org (dl.fedoraproject.org)|209.132.181.23|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 14540 (14K) [application/x-rpm]
Saving to: 'epel-release-latest-6.noarch.rpm.1'
100%[===================================================================================================================================================================================================>] 14,540 --.-K/s in 0.08s
2019-11-13 13:34:26 (180 KB/s) - 'epel-release-latest-6.noarch.rpm.1' saved [14540/14540]
[root@localhost donghua]#
3、Xtrabackup 安装
如果在安装时,无法连接到对应的镜像网站,或者说主机是没有联网的,那么可以修改如下配置文件/etc/yum.repos.d/epel.repo:
将:
[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
修改为:
[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
然后:
[root@localhost donghua]# yum localinstall epel-release-latest-6.noarch.rpm
[root@localhost donghua]# yum localinstall percona-xtrabackup-24-2.4.12-1.el6.x86_64.rpm
[root@localhost donghua]#
安装检测是否安装成功:
[root@localhost donghua]# innobackupex --help
[root@localhost donghua]#
4、 innobackupex一些关键参数做介绍:
--defaults-file #指定MySQL配置文件 ,如果不指定–defaults-file,默认值为/etc/my.cnf
--user=root #备份操作用户名,一般都是root用户
/mnt/backup/ #备份路径
--socket=/tmp/mysql.sock #指定mysql.sock登录(可通过innobackupex --help查看)
--parallel=2 --throttle=200 #并行个数,根据主机配置选择合适的,默认是1个,多个可以加快备份速度。
2>/mnt/backup/bak.log #备份日志,将备份过程中的输出信息重定向到bak.log
--apply-log #在备份目录下生成一个xtrabackup_logfile事务日志文件, 此外,创建新的事务日志。 InnoDB配置从文件“backup-my.cnf”中读取。
--redo-only #全备数据后对DB有增量更改,则必须执行此操作,在准备基本完全备份和合并除最后一个之外的所有增量备份时,应使用此选项