Xtrabackup备份恢复
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Xtrabackup备份恢复相关的知识,希望对你有一定的参考价值。
完全备份+两次增量备份 --> 新主机恢复
环境:
CentOS7.4 x 2
MariaDB-5.5.5
zabbix数据
EPEL源
Xtrabackup工具包
一、两台主机分别安装Xtrabackup
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
yum install percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm -y
#Xtrabackup包依赖于epel源一些工具包,所以使用yum安装。
二、完全备份数据库
当前数据库状态:
完全备份数据库:
innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 /backup/
出现completed OK!表示备份完成
备份的数据:
三、修改数据,并执行第一次增量备份
mysql> create database 1st;
修改后的数据:
进行增量备份:
mkdir /backup/up1
innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --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=123456 --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
查看数据:
以上是关于Xtrabackup备份恢复的主要内容,如果未能解决你的问题,请参考以下文章