首页 > 数据库 >CentOS9中MySQL8数据库备份--增量备份方案

CentOS9中MySQL8数据库备份--增量备份方案

时间:2024-07-18 17:54:32浏览次数:12  
标签:inc1 MySQL8 data 备份 -- 增量 backup

1.关于备份:

MySQL中有完全备份、增量备份和差异备份三种常见的备份策略,这次使用增量备份

定义:增量备份仅备份自上一次备份(无论是完全备份还是增量备份)以来发生变化的数据。
特点:依赖于上一次备份,仅备份变化的部分,因此备份文件较小,但恢复时需要结合之前的备份。
优点:备份文件较小,节省存储空间。
缺点:恢复时需要应用所有的增量备份,可能需要更多的时间。

2.下载备份软件percona-xtrabackup80(mysql80)

官网

安装yum仓库
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

安装之前先启用perconna仓库

percona-release enable-only tools release

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

yum install percona-xtrabackup-83

3.增量备份

不管是什么备份,首先都要进行一次完整备份
可以先看我的上篇文章,做一次完整备份
完整备份
1.增量备份1

mysql -uroot -p'LiuDeHua@123'
create database inc1;
create table inc1.t1 (id int,name varchar(10));
use inc1;
insert into t1 values (1,'增量备份'),(2,'增量备份');
select * from t1;
\q

2.开始增量备份

xtrabackup --defaults-file=/etc/my.cnf --backup --target-dir=/data/backup/inc1 --incremental-basedir=/data/backup/base -uroot -p'LiuDeHua@123' -H localhost -P 3306 --no-server-version-check
--defaults-file 		默认文件
--backup        		备份
--target-dir    		备份存放的目录,要单独存放 此时为/data/backup/inc1/
						注意此时就不要放在完全备份的文件夹(data/backup/base)中
						如果还放在这里,无法进行区分,会产生冲突
incremental-basedir  	增量备份参照的文件(参照谁进行增量)

查看备份是否成功

ls /data/backup/inc1

3.增量备份2
修改数据

mysql -uroot -p'LiuDeHua@123'
use inc1;
insert into t1 values (3,'增量备份'),(4,'增量备份');
select * from t1;
\q

开始备份

xtrabackup --defaults-file=/etc/my.cnf --backup --target-dir=/data/backup/inc2 --incremental-basedir=/data/backup/inc1 -uroot -p'LiuDeHua@123' -H localhost --no-server-version-check
--target-dir=/data/backup/inc2/ 			用了存储第二次的增量备份文件
incremental-basedir=/data/backup/inc1/  	第二次要参照第一次进行备份(增量备份参照上一次)

查看备份是否成功

ls /data/backup/inc2

4.恢复增量备份

  • 还原的时候,要先准备好完整备份
  • 然后再还原增量备份,这样数据才是完整的

注意最后一次把增量备份恢复到全部不要加 --apply-log-only(表示后面还有备份)

应用完整备份

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-basedir=/data/backup/inc1 --no-server-version-check

应用增量备份2 注意此时不需要加–apply-log-only

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

恢复到数据目录
全库级恢复要先停止数据库并清空数据目录
如果不这样做,当前数据库内有某张表,又还原进同样的表,会产生冲突

systemctl stop mysqld
rm -rf /var/lib/msyql/*
xtrabackup --defaults-file=/etc/my.cnf --copy-back --target-dir=/data/backup/base  

将备份文件的文件属主属组设为msyql

chown -R mysql.mysql /var/lib/msyql

启动msyql

systemctl start msyqld

获取默认密码,修改密码

awk '/password/ {print $NF}' /var/log/mysqld.log
mysqladmin -uroot -p"获取的默认密码" password "新密码"

登录msqyl,查看数据库

msyql -uroot -p'密码'
show databases;
use inc1;
show tables;
select * from t1;

标签:inc1,MySQL8,data,备份,--,增量,backup
From: https://blog.csdn.net/pch330818/article/details/140388390

相关文章

  • 大一菜鸡QT大作业之五子棋
    作者本人为大一即将结束的菜鸡一枚,刚刚完成了暑期课程,上交了自己的QT编程项目----五子棋游戏,较为简陋,由于不打算投入大量时间(只投入了不到一个星期),且不会五子棋人机对战的算法,所以本人的项目是由自己在开源网站上搜索到的两个五子棋项目修改而成,该五子棋具有人人对战,人机对战,联......
  • rsync数据同步服务,rsync+SSH同步,及inotify实时同步与rsync结合
    Linux系统下数据同步服务rsync一、rsync概述1.rsync的伙伴sync同步:刷新文件系统缓存,强制将修改过的数据写入磁盘,并且更新超级块async异步:将数据先放到缓冲区,在周期性(一般是30s)的去同步到磁盘rsync远程同步:==remodesynchronous==数据同步过程:sync数据同步=>保存⽂......
  • camke(11)配置g2o
     适配openvslam和slam14讲解代码版本1.Eigen安装(最新3.3.7)wget-qhttps://gitlab.com/libeigen/eigen/-/archive/3.3.7/eigen-3.3.7.tar.bz2tarxfeigen-3.3.7.tar.bz2rm-rfeigen-3.3.7.tar.bz2cdeigen-3.3.7mkdir-pbuild&&cdbuildcmake\-DCMAKE_BU......
  • 15 存储过程
    概念存储过程:是在大型数据库系统中,一组为了完成特定功能的sql语句集,存储在数据库中,经过第一次编译后再次调用不需要重复编译,用户通过指定存储过程的名字并给出参数(如果存储过程有参数)来执行。存储过程基本上可以完成大部分的函数可以处理的功能与函数的异同相同点存储过程和......
  • 数据库MySQL指令
    数据库之搭建1、rpm-qa|grep服务名称案例:rpm-qa|grepmysql2、将所有msyql的包删除干净删除方法:(1)yumremovemysql*删除linux中的数据库(2)yumerase包名,删除linux中的数据库(3)rpm-e--nodeps包名删除linux中的数据库3、mysql的安装a.安装客户端yuminstallmysq......
  • 为什么使用 Pool 重命名时我的文件数量会减少?
    我想并行重命名文件,这里我选择使用Pool来做到这一点。defrename_files(folder,prefix,n):files=os.listdir(folder)n=4tasks=[(os.path.join(folder,file),os.path.join(folder,......
  • [Xamarin] 在 Visual Studio 中使用 adb 连接本机 Mumu 模拟器
    官网https://mumu.163.com/操作步骤1.开启Mumu模拟器的【开发者模式】模式。2.在【问题诊断】中查看ADB端口号3.在VisualStudio中找到"Tools/Android/AndroidAdbCommandPrompt"4.使用命令监听端口adbtcpip163845.使用命令建立连接adbconn......
  • 无法在 Rasp pi 4B 上安装 python 库
    :~$sudopipinstall序列号错误:外部管理环境×该环境是外部管理的╰─>要在系统范围内安装Python软件包,请尝试aptinstallpython3-xyz,其中xyz是您要尝试的包安装。Ifyouwishtoinstallanon-Debian-packagedPythonpackage,createavirtualenvironme......
  • MMU和SMMU IOMMU使用场景和区别,SMMU技术与cache
    1.各种MMUMMU是memorymanageunit内存管理单元;SMMU是systemmemorymanageunit系统内存管理单元;IOMMU和SMMU的功能基本相同,只是不同厂商的叫法2.各种MMU的使用场景MMU是cpu和各种处理器对应的内存管理单元;SMMU/IOMMU是DMA使用的内存管理单元MMU/SMMU的发展是围绕着虚拟......
  • Fastapi--资源监管
    classResItemLiveness(BaseModel):resCode:int=0resMsg:str=""resData:dict=dict()defstatus_check(self,cpu_thresh,memory_thresh,gpu_memory_thresh,cpu_intervel:int=1,gpu_index:int=0):#CPU资源查询......