Xtrabackup备份恢复

概念:

xtrabackup是一种物理备份工具,通过协议连接到mysql服务端,然后读取并复制innodb底层的"数据块",完成所谓的"物理备份"。

支持对innodb进行热备、增量备份、差量备份。

支持对myisam进行温备,因为在备份myisam表时,会对myisam表添加读锁,而且不能对myisam表进行增量备份,每次备份myisam数据都是全量,即使名义上是增量,但是实际上仍然是全量。
————————————————

完全备份+两次增量备份 --> 新主机恢复

环境:

CentOS7.4 x 2
  MariaDB-5.5.5
  Xtrabackup工具包

两台主机分别安装Xtrabackupwget

https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.9/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm
-----------------------------------------------
yum install percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm -y

#Xtrabackup包依赖于epel源一些工具包,所以使用yum安装。

注意:如果无法使用yum安装的话使用如下命令
rpm -ivh percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm
(安装过程中如果出现被依赖 方法:去官网下载被依赖的包!!!)
在这里插入图片描述

一、准备工作

更新下系统:
yum -y update

下载XtraBackup rpm包

wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.9/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm

安装依赖包:

rpm -Uvh http://rpmfind.net/linux/epel/6/x86_64/Packages/l/libev-4.03-3.el6.x86_64.rpm
yum -y install perl perl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL perl-Digest-MD5

安装XtraBackup

rpm -ivh percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm

二、安装Percona-XtraBackup-2.4.9

#rpm -ivh percona-xtrabackup-24-2.4.9-1.el6.x86_64.rpm

安装过程遇到libev.so.4问题

(1)解决 libev.so.4()(64bit)

可以自行去http://rpm.pbone.net搜索系统所需要的rpm包进行下载安装

#wget ftp://ftp.pbone.net/mirror/apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/libev-4.15-1.el6.rf.x86_64.rpm

#rpm -ivh libev-4.15-1.el6.rf.x86_64.rpm
————————————————

当前数据装态:在这里插入图片描述
完全备份数据库:
innobackupex --defaults-file=/etc/my.cnf --user=root --password=chen123 /backup/
出现completed OK!表示备份完成!

在这里插入图片描述

备份的数据:在这里插入图片描述

三、修改数据,并执行第一次增量备份

mysql> create database 1st;
修改后的数据:

在这里插入图片描述

进行增量备份:
mkdir /backup/up1
innobackupex --defaults-file=/etc/my.cnf --user=root --password=chen123 --incremental  --incremental-basedir=/backup/2018-02-27_14-44-54 /backup/up1
第一次增量备份的数据:在这里插入图片描述

四、再次修改数据,进行第二次增量备份

mysql> create database 2st;
mysql> create database Xtrabackup_test;

在这里插入图片描述

进行第二次增量备份:
innobackupex --defaults-file=/etc/my.cnf --user=root --password=chen123 --incremental  --incremental-basedir=/backup/up1/2018-02-27_14-48-24 /backup/up2/

在这里插入图片描述

三次备份后的数据:

在这里插入图片描述

五、恢复前准备

1.将备份数据和/etc/my.cnf文件拷贝到另一台主机
scp -r /backup/  192.168.1.4:/root
scp /etc/my.cnf 192.168.1.4:/etc/
2.不要启动数据库,开始恢复前的准备工作;
#回滚未提交的事务及同步已经提交的事务至数据文件使数据文件处于一致性状态:
innobackupex --apply-log --redo-only /root/2018-02-27_14-44-54/

在这里插入图片描述

3.将增量备份整合进全备份中:
innobackupex --apply-log --redo-only /root/2018-02-27_14-44-54/ --incremental-dir=/root/up1/2018-02-27_14-48-24

在这里插入图片描述

innobackupex --apply-log --redo-only /root/2018-02-27_14-44-54/ --incremental-dir=/root/up2/2018-02-27_14-50-03

在这里插入图片描述

六、开始恢复

1.确保数据目录为空

rm -fr /var/lib/mysql

2.拷贝文件到数据目录
innobackupex --copy-back --datadir=/var/lib/mysql  /root/2018-02-27_14-44-54/

在这里插入图片描述

7、启动数据库

修改数据库目录权限:
chown -R mysql.mysql /var/lib/mysql
启动数据库:
systemctl start mariadb
查看数据:在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值