MySQL8的备份方案——差异备份(CentOS)

MySQL8的差异备份

  • 一、安装备份工具
  • 二、备份数据
  • 三、准备恢复所需的备份数据
  • 四、 恢复备份文件

点击跳转全量(完全)备份
点击跳转增量备份
点击跳转压缩备份

一、安装备份工具

官网
下载地址
备份所用工具为percona-xtrabackup
如果下方安装工具的教程失效,请点击上方下载地址转到官方文档查看

  1. 下载该工具的yum仓库
yum install -y https://repo.percona.com/yum/percona-release-latest.noarch.rpm
  1. 启用该仓库
percona-release enable-only tools release
  1. 下载mysql的对应版本工具(本文章编写时为83版本,最新版请查看官方文档)
    如果安装失败,看一下yum源是否是官方的,如果是请更换yum源(一定要有epel,否则可能依旧失败),官方Centos9一下的yum源已停止维护,可能会缺失依赖

    MySQL8.3以上

    yum install -y percona-xtrabackup-83
    

    MySQL8.0至8.3

    yum install -y percona-xtrabackup-80
    

    MySQL( 5.1、5.5、5.6 、5.7 )

    yum install -y percona-xtrabackup-24
    

4.安装相关软件包:lz4 zstd

yum install -y lz4 zstd

二、备份数据

差异备份依赖于全量(完全)备份。在首次进行差异备份之前,需要有一个全量(完全)备份作为基础。之后的每次差异备份都备份自上次全量(完全)备份以来发生变化的数据。

  1. 创建备份文件夹,存放备份文件
mkdir -p /date/backup
  1. 开始备份,差异备份前需要完成一次全量备份
xtrabackup --defaults-file=/etc/my.cnf \
--backup \
--target-dir=/data/backup/自定义全量备份文件夹名 \
-uroot -p'密码' \
--no-server-version-check

--defaults-file 备份数据库的时候需要参考的默认文件。默认为/etc/my.cnf只要位置不变,可以不写
--backup 备份的意思
--target-dir 备份后的文件放在哪里(最后一个文件夹会自动创建,但前面的文件夹要自己创建)
-u 备份时候使用的数据库身份(可不写,默认用root用户登录)
-p 备份时使用身份的密码(登录MySQL的密码)
-H 要备份哪台机器(可不写,默认为本机)
-P 备份工具所登录备份服务器的端口(可不写,默认为3306)
--no-server-version-check 不对服务版本进行校验(如果看见报错一定要加,报错最后一行的末尾会写这条命令)

每次运行该命令,最后一行代码的最后两个单词为completed OK!就表示备份成功

  1. 第一次差异备份开始,第一次差异备份要参考全量备份
xtrabackup --backup \
--target-dir=/data/backup/`date +%F_%T`.inc \
--incremental-basedir=/data/backup/自定义全量备份文件夹名\
-p'密码' \
--no-server-version-check

--target-dir 这后面是差异备份的文件夹路径,不要与全量备份放在一个文件夹下
--incremental-basedir 差异备份参照的文件(参照谁进行备份)

  1. 添加数据后开始第二次差异备份,第二次差异备份参考全量(完全)备份(本文只生成两次差异本分,再往后每次的差异备份都参考全量(完全)备份)
xtrabackup --backup \
--target-dir=/data/backup/`date +%F_%T`.inc \
--incremental-basedir=/data/backup/全量(完全)备份文件夹名\
-p'密码' \
--no-server-version-check

可以写个脚本,添加定时任务每天备份一次,把date +%F_%T.inc改为date +%F.inc

三、准备恢复所需的备份数据

准备备份文件,因为差异备份每次都备份第一次全量(完全)备份以来的变更内容,所以要恢复到最新,只需要把第一个全量(完全)备份和最后一个差异备份准备一下

  1. 准备全量备份文件
xtrabackup --prepare \
--apply-log-only \
--target-dir=/data/backup/自定义全量备份文件夹名 \
--no-server-version-check

--prepare 开始准备要恢复的备份文件
--apply-log-only 表示这次的准备是不完整的,后面还要追加

  1. 准备要恢复的差异备份文件
    最后一个备份文件准备时不要加--apply-log-only,表示准备已完成,下一步就可以进行恢复了
xtrabackup --prepare \
--target-dir=/data/backup/自定义全量备份文件夹名 \
--incremental-dir=/data/backup/自定义差异备份文件夹名 /
--no-server-version-check

--target-dir 这里表示的是准备好的文件存放位置,最终恢复时用的就是这个路径
--incremental-dir 差异备份的文件夹路径(表示本次要准备该文件夹下的内容)

四、 恢复备份文件

  1. 恢复前先确保/var/lib/mysql/文件夹下是空的,否则无法恢复
rm -rf /var/lib/mysql/*
  1. 恢复
xtrabackup --copy-back --target-dir=/date/backup/自定义全量备份文件夹名
  1. 添加权限
chown mysql.mysql -R /var/lib/mysql/*
  1. 重启MySQL服务
systemctl restart mysqld
  1. 登录测试()
mysql -uroot -p'原密码'

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/48581.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaWeb服务器-Tomcat(Tomcat概述、Tomcat的下载、安装与卸载、启动与关闭、常见的问题)

Tomcat概述 Tomcat服务器软件是一个免费的开源的web应用服务器。是Apache软件基金会的一个核心项目。由Apache,Sun和其他一些公司及个人共同开发而成。 由于Tomcat只支持Servlet/JSP少量JavaEE规范,所以是一个开源免费的轻量级Web服务器。 JavaEE规范&…

Android init.rc如何并行执行任务

Android开机优化系列文档-CSDN博客 Android 14 开机时间优化措施汇总-CSDN博客Android 14 开机时间优化措施-CSDN博客根据systrace报告优化系统时需要关注的指标和优化策略-CSDN博客Android系统上常见的性能优化工具-CSDN博客Android上如何使用perfetto分析systrace-CSDN博客A…

python-网络并发模型

3. 网络并发模型 3.1 网络并发模型概述 什么是网络并发 在实际工作中,一个服务端程序往往要应对多个客户端同时发起访问的情况。如果让服务端程序能够更好的同时满足更多客户端网络请求的情形,这就是并发网络模型。 循环网络模型问题 循环网络模型只能…

逻辑回归损失函数

文章目录 1.基础简析交叉熵损失函数(Cross-Entropy Loss)对数似然损失函数(Log-Likelihood Loss) 2.关键步骤3.案例 1.基础简析 逻辑回归(Logistic Regression)是一种广泛应用于分类问题的统计模型&#x…

C++进阶 继承

目录 继承的概念及定义 继承概念 继承定义 定义格式 继承关系和访问限定符 继承基类成员访问方式的变化 基类和派生类对象赋值转换 继承中的作用域 派生类的默认成员函数 构造函数 拷贝构造函数 赋值运算符重载 析构函数 总结 继承与友元 继承与静态成员 浅谈复杂…

Scott Brinker:消除噪音越来越难?这是一个越来越有效的营销渠道

合作伙伴成为更有效的渠道 对于普通读者来说,我看好生态系统并不奇怪。我一直主张,平台生态系统可以解决不断变化、高度多样化的市场格局中的许多挑战。这也是我在HubSpot和公司的技术合作伙伴生态系统所关注的。 在本月早些时候的文章中,我…

SpringMVC源码深度解析(中)

接上一遍博客《SpringMVC源码深度解析(上)》继续聊。最后聊到了SpringMVC的九大组建的初始化,以 HandlerMapping为例,SpringMVC提供了三个实现了,分别是:BeanNameUrlHandlerMapping、RequestMappingHandlerMapping、RouterFunctio…

AI一站式科研写作利器:PaperPal

文章目录 在线编辑Word 插件 在线编辑 PaperPal是一款面向科研人员的写作工具,支持在线编辑以及Word插件。下面以在线编辑为例,详述PaperPal的润色功能。 进入网页后,点击【新建在线文档】,即可开启润色功能,界面如下…

《昇思25天学习打卡营第24天|基于 MindSpore 实现 BERT 对话情绪识别》

1. BERT 模型概述 BERT(Bidirectional Encoder Representations from Transformers)是一个预训练的语言表示模型,可以应用于多种自然语言处理任务,包括对话情绪识别。BERT 通过双向 Transformer 编码器,能同时考虑句子…

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 图像物体的边界(200分) - 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 🍿 最新华为OD机试D卷目录,全、新、准,题目覆盖率达 95% 以上,支持题目在线…

红尘阡陌:相遇与分离的交织,在这纷繁复杂的尘世间,阡陌纵横,每一条道路都承载着无数的故事,有相遇的欣喜,亦有分离的哀伤

红尘阡陌:相遇与分离的交织,在这纷繁复杂的尘世间,阡陌纵横,每一条道路都承载着无数的故事,有相遇的欣喜,亦有分离的哀伤。相遇,宛如璀璨星辰划过夜空,瞬间点亮了生命的黑暗;分离,却似深秋的寒风,无情地吹落了曾经繁茂的枝叶。 有些人的出现,如同春日里的暖阳,猝…

ultralytics-yolov8

yolov8 安装环境 装pytorch conda install pytorch1.12.1 torchvision0.13.1 torchaudio0.12.1 cudatoolkit11.6 -c pytorch -c conda-forge安装用到的包 requirements.txt ultralytics tqdm scikit-learn pyaml shapely pyclipper scikit-image imgaug lmdb tqdm rapidfuz…

word 设置目录中英文字母大写改为小写

选中目录右击“字体”,设置“小型大写字母”。

【Vue3】工程创建及目录说明

【Vue3】工程创建及目录说明 背景简介开发环境开发步骤及源码 背景 随着年龄的增长,很多曾经烂熟于心的技术原理已被岁月摩擦得愈发模糊起来,技术出身的人总是很难放下一些执念,遂将这些知识整理成文,以纪念曾经努力学习奋斗的日…

【LeetCode】从中序与后序遍历序列构造二叉树

目录 一、题目二、解法完整代码 一、题目 给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder 是同一棵树的后序遍历,请你构造并返回这颗 二叉树 。 示例 1: 输入:inorder [9,3,15,20,7], …

谷粒商城实战笔记-40-前端基础-Vue-计算属性、监听器、过滤器

文章目录 一,计算属性1,用途2,用法2.1 定义View2.2 声明计算属性 3,注意事项 二,监听器1. 使用 watch 监听属性的变化 三,过滤器1,定义局部过滤器2,定义全局过滤器3,使用…

Perl 基础语法

Perl 基础语法 Perl 是一种高级、解释型、动态编程语言,广泛用于CGI脚本、系统管理、网络编程、以及其他领域。Perl 以其强大的文本处理能力和简洁的语法而闻名。本文将详细介绍 Perl 的基础语法,帮助读者快速入门。 1. Perl 变量和数据类型 1.1 变量…

【学习笔记】无人机系统(UAS)的连接、识别和跟踪(六)-无人机直接C2通信

目录 引言 5.4 直接C2通信 5.4.1 概述 5.4.2 A2X直接C2通信服务的授权策略 5.4.3 USS使用A2X直接C2通信服务的C2授权程序 5.4.4 直接C2通信建立程序 引言 3GPP TS 23.256 技术规范,主要定义了3GPP系统对无人机(UAV)的连接性、身份识别…

C 语言实例 - 使用引用循环替换数值

a、b、c 三个变量&#xff0c;通过引用按顺序循环替换他们的值。 #include<stdio.h>void cyclicSwap(int *a,int *b,int *c);int main() {int a, b, c;printf("输入 a, b 和 c 的值: ");scanf("%d %d %d",&a,&b,&c);printf("交换前…

bs4模块使用(一)

1. 安装BS4 pip install beautifulsoup4 pip install lxml2. 对象种类 bs4将html文档解析成一个树形结构&#xff0c;每个节点都是python对象&#xff0c;大概可分为下面四种&#xff1a; 2.1 Tag 后面再详细介绍&#xff0c;先介绍最重要的两个属性 name soup Beautiful…