SQL数据库备份管理——增量备份实施方案

目录

一、官网下载安装percona-xtrabackup80(mysql80)

二、安装yum仓库

1. YUM安装perconna仓库

2. 启用Percona Tools存储库

3. 安装XtraBackup命令

三、准备数据库数据

1.创建数据库

2.选择数据库

3.创建表结构

4.插入内容

5.查看插入内容

四、增量备份流程

1. 做增量备份前,是需要进行一次完成备份的

2. 校验:

3. 第一次增量备份

1. 增加2条数据

2. 开始增量备份

4. 第二次增量备份

1. 在上面用到过的表add1.t1,添加数据

2、退出MySQL开始增量备份

​编辑

最后一行显示如下,表示增量备份完成: [Note] [MY-011825] [Xtrabackup] completed OK!

3. 校验

5、恢复增量备份流程

1. 应用完整备份:

2.恢复到数据目录


一、官网下载安装percona-xtrabackup80(mysql80)

官网地址:https://docs.percona.com/

最终地址:https://docs.percona.com/percona-xtrabackup/innovation-release/yum-repo.html

二、安装yum仓库

1. YUM安装perconna仓库
yum install -y https://repo.percona.com/yum/percona-release-latest.noarch.rpm

如果无法直接安装,可以尝试先下载,再安装 

wget https://repo.percona.com/yum/percona-release-latest.noarch.rpm
 
yum install -y percona-release-latest.noarch.rpm

yum repolist 

2. 启用Percona Tools存储库

由于我们要安装Percona XtraBackup,所以需要确保启用了Percona Tools存储库。通过以下命令启用它:

percona-release enable-only tools release

3. 安装XtraBackup命令
yum install percona-xtrabackup-83

注意:xtrabackup8.0只支持mysql8.0以上的版本,mysql5.7或以下需要使用xtrabackup8.0以下的版本


 

三、准备数据库数据

1.创建数据库
 create database add713;
2.选择数据库
use add713;
3.创建表结构
create table t1(id int,name varchar(10));
4.插入内容
insert into t1 values(1,'add1'),(2,'add2');
5.查看插入内容
 select * from t1;

四、增量备份流程

1. 做增量备份前,是需要进行一次完成备份的
mkdir  -p   /data/backup/
 
xtrabackup --defaults-file=/etc/my.cnf --backup --target-dir=/data/backup/base/  -uroot -p你的MySQL密码 -H localhost -P 3306  --no-server-version-check

注释:

--defaults-file 备份工具在备份数据库的时候,需要参考的默认文件。一般参考mysql的主配置文件
--backup        备份的意思
--target-dir    备份后的文件放在哪里(要提前把备份的目录创建好)
-u              备份时候使用的数据库身份
-p              备份时使用身份的密码
-H              要备份哪台机器
-P              备份工具所登录备份服务器的端口
--no-server-version-check  不对服务版本进行校验
 

2. 校验:
ls /data/backup/base

3. 第一次增量备份
1. 增加2条数据

2. 开始增量备份
xtrabackup --defaults-file=/etc/my.cnf --backup --target-dir=/data/backup/inc1/  --incremental-basedir=/data/backup/base/ -u root -p你自己的MySQL密码 -H localhost -P 3306 --no-server-version-check

最后一行显示如下,表示增量备份完成: [Note] [MY-011825] [Xtrabackup] completed OK!

4. 第二次增量备份
1. 在上面用到过的表add1.t1,添加数据

2、退出MySQL开始增量备份
xtrabackup --defaults-file=/etc/my.cnf --backup --target-dir=/data/backup/inc2/  --incremental-basedir=/data/backup/inc1/ -u root  -pWyk@123456 -H localhost -P 3306 --no-server-version-check

-target-dir=/data/backup/inc2/             

用了存储第二次的增量备份文件

incremental-basedir=/data/backup/inc1/    

 第二次要参照第一次进行备份(增量备份参照上一次)
 

最后一行显示如下,表示增量备份完成: [Note] [MY-011825] [Xtrabackup] completed OK!
3. 校验
ls /data/backup/

5、恢复增量备份流程

还原的时候,要先准备好完整备份

然后再还原增量备份,这样数据才是完整的

注意最后一次把增量备份恢复到全部不要加 --apply-log-only

1. 应用完整备份
xtrabackup --defaults-file=/etc/my.cnf --prepare --apply-log-only --target-dir=/data/backup/base/ --no-server-version-check

应用增量1:

xtrabackup --defaults-file=/etc/my.cnf --prepare --apply-log-only --target-dir=/data/backup/base/ --incremental-dir=/data/backup/inc1/  --no-server-version-check

应用增量2:

注意不要偷懒

注意,这是最后一次的增量,就 不要输入--apply-log-only

xtrabackup --defaults-file=/etc/my.cnf --prepare --target-dir=/data/backup/base/ --incremental-dir=/data/backup/inc2 --no-server-version-check

这几步 --defaults-file=““ 选项可以不用加

2.恢复到数据目录

全库级恢复要先停止数据库并清空数据目录

如果不这样做,当前数据库内有某张表,又还原进同样的表,会产生冲突

systemctl stop mysqld

rm -rf /var/lib/mysql

恢复MySQL数据
xtrabackup --defaults-file=/etc/my.cnf --copy-back --target-dir=/data/backup/base/

授权:将/var/lib/mysql 的所有主和所属组改为MySQL。
chown -R mysql.mysql /var/lib/mysql

启动MySQL服务
systemctl start mysqld

登录MySQL
mysql -uroot -p你的MySQL密码

查看数据的完整性:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值