## 安装xtrabackup
-------------------------
第一步:安装所需要的依赖包
yum -y install cmake gcc gcc-c++ libaio libaio-devel automake autoconf bison libtool ncurses-devel libgcrypt-devel libew-devel libcurl*
yum -y install perl-Time-HiRes
yum -y install perl-DBI
yum -y install perl-DBD-MySQL
yum -y install perl-IO-Socket-SSL
//解决libev.so.4()(64bit) 被 percona-xtrabackup-24-2.4.7-1.el6.x86_64 需要问题
wget ftp://rpmfind.net/linux/atrpms/el6-x86_64/atrpms/stable/libev-4.04-2.el6.x86_64.rpm
rpm -ivh libev-4.04-2.el6.x86_64.rpm
//解决perl(Digest::MD5) 被 percona-xtrabackup-24-2.4.7-1.el6.x86_64 需要问题
yum -y install rsync perl l perl-Digest-MD5
//下载xtrabackup的安装包
wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.7/binary/redhat/6/x86_64/percona-xtrabackup-24-2.4.7-1.el6.x86_64.rpm
//安装xtrabackup的rpm包
rpm -ivh percona-xtrabackup-24-2.4.7-1.el6.x86_64.rpm
---------------------------
### 完全备份
---------------------------
innobackupex --defaults-file=/etc/my.cnf -u root -p root /home/mortal/1
//备份结果在/home/mortal/1目录下的以日期和时间命名的文件夹里:例如:2019-12-12_13-15-11。
### 完全备份恢复
先关闭mysql服务,确保恢复目录被清空。
innobackupex --defaults-file=/etc/my.cnf -u root -p root --apply-log ?/home/mortal/1/2019-12-12_13-15-11/
#确保未提交日志写入备份文件
innobackupex --defaults-file=/etc/my.cnf -u root -p root --copy-back /home/mortal/1/2019-12-12_13-15-11/
#将文件拷贝到工作目录,恢复数据库。
完成后重启服务。
----------------------------
### 增量备份
----------------------------
innobackupex --defaults-file=/etc/my.cnf -u root -p root --incremental --incremental-basedir=/home/mortal/1/2019-12-12_13-15-11/ /home/mortal/1/inc
该命令将增量备份写入/home/mortal/1/inc目录,增量的基础是/home/mortal/1/2019-12-12_13-15-11/,即完全备份;如果做多次增量备份,则每次备份的命令均应以上一次备份(无论完全备份还是增量备份)为基础。
### 增量备份恢复
增量备份的思路:
1. 准备全备数据 。
2. 恢复增量备份到完全备份 。
3. 使用完全备份进行完全备份恢复。
innobackupex --defaults-file=/etc/my.cnf -u root -p root --apply-log --redo-only?/home/mortal/1/2019-12-12_13-15-11/ #确保未提交日志写入备份文件
innobackupex --defaults-file=/etc/my.cnf -u root -p root --apply-log --redo-only --incremental-dir=/home/mortal/1/inc/2019-12-12_13-56-27/ /home/mortal/1/2019-12-12_13-15-11/ #将增量备份合并到完整备份
innobackupex --defaults-file=/etc/my.cnf -u root -p root --apply-log ?/home/mortal/1/2019-12-12_13-15-11/ #确保未提交日志写入备份文件
innobackupex --defaults-file=/etc/my.cnf -u root -p root --copy-back /home/mortal/1/2019-12-12_13-15-11/#将文件拷贝到工作目录,恢复数据库。
----------------------------