利用xtrabackup8完全,增量备份及还原MySQL8
2022/9/10 2:23:23
本文主要是介绍利用xtrabackup8完全,增量备份及还原MySQL8,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
利用xtrabackup8完全,增量备份及还原MySQL8
1、环境准备
服务器 | 作用 | 数据库版本 | xtrabackup版本 |
---|---|---|---|
10.0.0.8 | 数据备份 | mysql8.0.26 | 8.0.28 |
10.0.0.18 | 数据还原 | mysql8.0.26 | 8.0.28 |
2、备份
[root@rocky8 ~]# ls anaconda-ks.cfg percona-xtrabackup-80-8.0.28-20.1.el8.x86_64.rpm [root@rocky8 ~]# yum install -y percona-xtrabackup-80-8.0.28-20.1.el8.x86_64.rpm [root@rocky8 ~]# mkdir /data/backup [root@rocky8 ~]# systemctl start mysqld.service [root@rocky8 ~]# xtrabackup --backup --target-dir=/data/backup/base #完全备份 [root@rocky8 ~]# rz hellodb_innodb.sql [root@rocky8 ~]# mysql < hellodb_innodb.sql #修改数据 [root@rocky8 ~]# mysql mysql> show databases; +--------------------+ | Database | +--------------------+ | hellodb | | information_schema | | mysql | | performance_schema | | sys | +--------------------+ mysql> insert students(name,age)values('wang',20); #修改数据 [root@rocky8 ~]# xtrabackup --backup --target-dir=/data/backup/inc1 --incremental-basedir=/data/backup/base #第一次增量备份 [root@rocky8 ~]# mysql mysql> insert students(name,age)values('jack',22); #第二次修改数据 [root@rocky8 ~]# xtrabackup --backup --target-dir=/data/backup/inc2 --incremental-basedir=/data/backup/inc1 #第二次增量备份 [root@rocky8 ~]# du -sh /data/backup/* #观察目录文件的大小 70M /data/backup/base 4.9M /data/backup/inc1 2.0M /data/backup/inc2 [root@rocky8 ~]# scp -r /data/backup/* root@10.0.0.28:/data/backup/ #拷贝到远程主机 [root@rocky ~]# cd /data/backup #远程主机查看拷贝过来生成的三个文件 [root@rocky backup]# ls base inc1 inc2
3、还原
# 还原机操作: [root@rocky ~]# yum install -y percona-xtrabackup-80-8.0.28-20.1.el8.x86_64.rpm ##预准备完成备份,此选项--apply-log-only 阻止回滚未完成的事务 [root@rocky ~]# xtrabackup --prepare --apply-log-only --target-dir=/data/backup/base #合并第1次增量备份到完全备份 [root@rocky ~]# xtrabackup --prepare --apply-log-only --target-dir=/data/backup/base --incremental-dir=/data/backup/inc1 ######## 合并第2次增量备份到完全备份:最后一次还原不需要加选项--apply-log-only ######### [root@rocky ~]# xtrabackup --prepare --target-dir=/data/backup/base --incremental-dir=/data/backup/inc2 [root@rocky ~]# systemctl stop mysqld [root@rocky ~]# cd /data/backup/base/ [root@rocky base]# xtrabackup --copy-back --target-dir=/data/backup/base #执行这一步需要进入到备份目录下,也就是base目录下,要不然会报找不到备份文件 #或者执行下面操作也可以 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [root@centos ~]#cp -r /backup/base/* /var/lib/mysql #执行了上边命令就不用执行这一步 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [root@rocky base]# chown -R mysql. /var/lib/mysql [root@rocky base]# systemctl start mysqld.service #验证 [root@rocky ~]# mysql mysql> show databases; +--------------------+ | Database | +--------------------+ | hellodb | mysql> use hellodb mysql> select * from students; | 26 | wang | 20 | F | NULL | NULL | | 27 | jack | 22 | F | NULL | NULL |
这篇关于利用xtrabackup8完全,增量备份及还原MySQL8的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-20部署MySQL集群入门:新手必读指南
- 2024-11-20部署MySQL集群教程:初学者指南
- 2024-11-20部署MySQL集群项目实战:新手教程
- 2024-11-20部署MySQL集群资料:新手入门教程
- 2024-11-20MySQL集群部署教程:入门级详解
- 2024-11-20MySQL集群教程:入门与实践指南
- 2024-11-20部署MySQL集群教程:新手入门指南
- 2024-11-20MySQL读写分离教程:轻松入门
- 2024-11-20部署MySQL集群入门:一步一步搭建你的数据库集群
- 2024-11-19部署MySQL集群学习:入门教程