Percona XtraBackup 备份和还原数据库

一、Percona XtraBackup 备份原理

1、完全备份
这里写图片描述
2、增量备份
这里写图片描述
3、数据还原备份
这里写图片描述

二、Percona XtraBackup 剖析

1、全备
这里写图片描述

2、增量备份
这里写图片描述

三、Percona Xtrabackup的基本操作

1、Percona Xtrabackup的安装
(1)下载Xtracbackup软件(我的这个是el7平台的)

https://pan.baidu.com/s/1i5OSx7Z      #这个是我自己的云盘地址
官网:https://www.percona.com/

(2)安装依赖包及软件

[root@linux-node2 ~]# yum -y install perl perl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL
[root@linux-node2 ~]# rpm -ivh libev-4.15-6.el7.x86_64.rpm
[root@linux-node2 ~]# rpm -ivh percona-xtrabackup-2.3.4-1.el7.x86_64.rpm

2、Percona Xtrabackup的备份还原数据

(1)完全备份
[root@linux-node2 ~]# grep "datadir" /etc/my.cnf    #查看数据目录所在的位置
datadir=/usr/local/mysql/data
[root@linux-node2 ~]# innobackupex --user=root --password=123 /tmp/mysql-backup/
[root@linux-node2 ~]# ls /tmp/mysql-backup/    #查看全备份的内容
2017-10-17_13-08-59

(2)增量备份

[root@linux-node2 ~]# innobackupex --user=root --password=123 --incremental /tmp/mysql-backup/ --incremental-basedir=/tmp/mysql-backup/2017-10-17_13-08-59/
[root@linux-node2 ~]# innobackupex --user=root --password=123 --incremental /tmp/mysql-backup/ --incremental-basedir=/tmp/mysql-backup/2017-10-17_13-12-19/
[root@linux-node2 ~]# ls /tmp/mysql-backup/
2017-10-17_13-08-59  2017-10-17_13-12-19  2017-10-17_13-13-13

这里写图片描述

(3)还原数据
①停止mysql服务,然后清空数据文件目录,恢复完成后再设置权限

[root@linux-node2 ~]# systemctl stop mysql
[root@linux-node2 ~]# mv /usr/local/mysql/data /usr/local/mysql/data.bak     #这个是模拟不小心将数据删掉
[root@linux-node2 ~]# mkdir /var/lib/mysql/data
[root@linux-node2 ~]# chown mysql. /usr/local/mysql/data -R

②还原数据

[root@linux-node2 ~]# innobackupex --apply-log --redo-only /tmp/mysql-backup/2017-10-17_13-08-59/    #读取全备份的事务日志,不回滚
[root@linux-node2 ~]# innobackupex --apply-log --redo-only /tmp/mysql-backup/2017-10-17_13-08-59/  \
--incremental-dir=/tmp/mysql-backup/2017-10-17_13-12-19/  #将第一次增量备份的事务日志导入到读取全备份的事务日志中,不回滚
[root@linux-node2 ~]# innobackupex --apply-log --redo-only /tmp/mysql-backup/2017-10-17_13-08-59/  \
--incremental-dir=/tmp/mysql-backup/2017-10-17_13-13-13/  #将第二次增量备份的事务日志导入到读取全备份的事务日志中,不回滚
[root@linux-node2 ~]# innobackupex --apply-log /tmp/mysql-backup/2017-10-17_13-08-59/      #回滚事务日志
[root@linux-node2 ~]# innobackupex --copy-back /tmp/mysql-backup/2017-10-17_13-08-59/      #还原数据
[root@linux-node2 ~]# chown mysql. /var/lib/mysql/data -R   #修改权限
[root@linux-node2 ~]# systemctl start mysql  #启动服务



备注: 从官网下载安装包

centos6环境
[root@linux-node2 ~]# wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.9/binary/redhat/6/x86_64/Percona-XtraBackup-2.4.9-ra467167cdd4-el6-x86_64-bundle.tar
[root@linux-node2 ~]# tar -xf Percona-XtraBackup-2.4.9-ra467167cdd4-el6-x86_64-bundle.tar
[root@linux-node2 ~]# yum -y install percona-xtrabackup-24-2.4.9-1.el6.x86_64.rpm
[root@linux-node2 ~]# which xtrabackup
/usr/bin/xtrabackup

centos7环境
[root@linux-node2 ~]# wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.9/binary/redhat/7/x86_64/Percona-XtraBackup-2.4.9-ra467167cdd4-el7-x86_64-bundle.tar
[root@linux-node2 ~]# tar -xf Percona-XtraBackup-2.4.9-ra467167cdd4-el7-x86_64-bundle.tar
[root@linux-node2 ~]# yum -y install percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm
[root@linux-node2 ~]# which xtrabackup
/usr/bin/xtrabackup

源码包
[root@linux-node2 ~]# wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.9/source/tarball/percona-xtrabackup-2.4.9.tar.gz

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值