目录
一、官网下载安装percona-xtrabackup80(mysql80)
最后一行显示如下,表示增量备份完成: [Note] [MY-011825] [Xtrabackup] completed OK!
一、官网下载安装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密码
查看数据的完整性: