当前位置:   article > 正文

Xtrabackup备份恢复_xtrabackup 备份 恢复

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安装。
  • 1
  • 2
  • 3
  • 4
  • 5

注意:如果无法使用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/
  • 1
出现completed OK!表示备份完成!

在这里插入图片描述

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

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

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

在这里插入图片描述

进行增量备份:
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
  • 1
  • 2
第一次增量备份的数据:在这里插入图片描述

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

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

在这里插入图片描述

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

在这里插入图片描述

三次备份后的数据:

在这里插入图片描述

五、恢复前准备

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

六、开始恢复

1.确保数据目录为空

rm -fr /var/lib/mysql

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

在这里插入图片描述

7、启动数据库

修改数据库目录权限:
chown -R mysql.mysql /var/lib/mysql
  • 1
启动数据库:
systemctl start mariadb
  • 1
查看数据:在这里插入图片描述
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/666308
推荐阅读
  

闽ICP备14008679号