xtrabackup全量+增量备份

xtrabackup:是用于热备份innodb, xtradb表中数据的工具,不能备份其他类型的表,也不能备份数据表结构;

innobackupex:是将xtrabackup进行封装的perl脚本,可以备份和恢复MyISAM表以及数据表结构。

https://blog.csdn.net/weixin_34455676/article/details/113568849

1、安装

[root@master tools]# 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
[root@master tools]# yum install -y percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm
或者
[root@master tools]#rpm -ivh percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm
[root@master ~]# rpm -qa |grep xtrabackup
========
yum install https://mirrors.tuna.tsinghua.edu.cn/percona/yum/percona-release-latest.noarch.rpm -y
sed -i ‘s#http://repo.percona.com#https://mirrors.tuna.tsinghua.edu.cn#g’ /etc/yum.repos.d/percona-original-release.repo
yum install percona-xtrabackup-24.x86_64 -y

2、完整的备份与恢复

mysql -uroot -pQaz123wsx456. -S /tmp/mysql3306.sock
innobackupex --user=root --password=‘Qaz123wsx456.’ -S /tmp/mysql3306.sock /tmp/
备份过程中会锁表,但是不影响表的写入
然后进行写入,删除等操作

backup-my.cnf
ib_buffer_pool
ibdata1
xtrabackup_binlog_info //binlogs日志文件的备份目录和最后的点
xtrabackup_checkpoints
xtrabackup_info
xtrabackup_logfile

backup-my.cnf mysql test xtrabackup_checkpoints
ib_buffer_pool performance_schema xtrabackup_info
ibdata1 sys xtrabackup_binlog_info xtrabackup_logfile

3、恢复
将原来的mysql目录备份datedir、logs 目录下文件备份移除,或者重新创建data、logs目录并改掉属主属组
恢复:
innobackupex --defaults-file=/etc/my_3306.cnf --apply-log /tmp/2021-11-25_10-39-36/
innobackupex --defaults-file=/etc/my_3306.cnf -S /tmp/mysql3306.sock --copy-back /tmp/

logs下面创建error.logs文件,记得授权给权限
将所有的mysql下的文件授权给mysql用户
chown -R mysql: ./*
然后重启mysqld
/usr/local/mysql/5.7.35/bin/mysqld_safe --defaults-file=/etc/my_3306.cnf &
mysql -uroot -pQaz123wsx456. -S /tmp/mysql3306.sock

3、增量备份

0、先全量备份
innobackupex --user=root --password=‘Qaz123wsx456.’ -S /tmp/mysql3306.sock /tmp/

1、增量备份

innobackupex --user=root --password=‘Qaz123wsx456.’ --incremental /bakup/ -S /tmp/mysql3306.sock --incremental-basedir=/tmp/2021-11-26_04-20-10/
–incremental 增量备份
–incremantal-baserdir 上次备份的路径,基于上一次的备份文件
-S /tmp/mysql3306.sock
一般增量和完整备份不是在同一个目录下

查看序列号
在这里插入图片描述

2、删除数据mysql/下的文件,改属主属组
然后回滚数据,防止新数据丢失,
对完整备份做回滚操作
innobackupex --apply-log --redo-only /tmp/2021-11-26_04-20-10/
回滚第一次增量备份的
innobackupex --apply-log --redo-only /tmp/全量 --incremental-dir=/tmp/增量
innobackupex --defaults-file=/etc/my_3306.cnf -S /tmp/mysql3306.sock --copy-back /tmp/全量

重启mysql
/usr/local/mysql/5.7.35/bin/mysqld_safe --defaults-file=/etc/my_3306.cnf &
查看是否到第一次的增量数据
mysql -uroot -pQaz123wsx456. -S /tmp/mysql3306.sock

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值