目前percona-xtrabackup-24-2.4.18-1.el8.x86_64.rpm不支持CentOS 8上的mariadb-10.3版本
本案例基于CentOS 8 的 MySQL5.7 实现,也支持MySQL5.5和Mariadb5.5
可参考另外一篇[添加链接描述](https://blog.csdn.net/qq_45637155/article/details/109060306)
xtrabackup完全,增量备份及还原
进行完全备份
mkdir backup
xtrabackup -uroot -p000000 --backup --target-dir=/root/backup/base
进入数据库,修改添加数据
进行第一次增量备份
xtrabackup -uroot -p000000 --backup --target-dir=/root/backup/inc1 --incremental-basedir=/root/backup/base
再进入数据库,修改添加数据
进行第二次增量备份(第二次备份事基于第一次的所以最后写inc1)
xtrabackup -uroot -pmagedu --backup --target-dir=/backup/inc2 --incremental-basedir=/root/backup/inc1
可以查看文件看看两次备份数据变化
cat /backup/inc1|2/xtrabackup_info
cat /backup/inc1|2/xtrabackup_checkpoints
cat /backup/inc1|2/xtrabackup_binlog_info
在目标机还原
把backup备份的三个文件发给目标机
scp -r /root/backup/ 10.0.0.7:/root/
在目标机上操作
还原
预准备完成备份,此选项–apply-log-only 阻止回滚未完成的事务
xtrabackup --prepare --apple-log-only --target-dir=/root/backup/base/
合并第一次增量备份到完全备份
xtrabackup --prepare --apple-log-only --target-dir=/root/backup/base/ incremental-dir=/root/backup/inc1
合并第二次增量备份到完全备份
xtrabackup --prepare --apple-log-only --target-dir=/root/backup/base/ incremental-dir=/root/backup/inc2
复制到数据库目录,注意数据库目录必须为空,mysql服务不能启动
rm -rf /data/mysql #自己自定的数据库目录
systemctl stop mysqld
xtrabackup --copy-back --target-dir=/root/backup/base/ #inc1,inc2都合并到base中
还原属性
chown -R mysql:mysql /var/lib/mysql
启动服务
systemctl restart mysqld