【MySQL备份】Percona XtraBackup压缩备份实战篇

目录

 1.前言

2.准备工作

2.1.环境信息

2.2.配置/etc/my.cnf文件 

 2.3.授予root用户BACKUP_ADMIN权限

2.4.安装qpress 

3. 压缩备份

3.1.创建压缩备份

3.2.创建全量备份 

3.3.对比两个备份的大小

4.解压备份

5.准备备份 

6.备份恢复

​7.问题分析

8.总结


"实战演练:利用Percona XtraBackup执行MySQL压缩备份操作详解"

 1.前言

在延续上篇【MySQL备份】Percona XtraBackup增量备份实战篇的探讨之后,本文将深度挖掘Percona XtraBackup的另一重要维度——压缩备份的实战技巧。继成功导航增量备份的复杂水域后,我们现在转向优化存储空间的策略,探讨如何高效利用压缩技术,确保您的MySQL备份既紧凑又实用。

通过本篇章节,我们将超越基础备份实践,引领您步入一个更为精细的操作层面,展示如何在不牺牲数据完整性的前提下,运用巧妙的压缩策略减少备份存储占用。您将学习如何无缝集成压缩工具与Percona XtraBackup流程,从备份创建直至恢复的每一步,最大化资源效率,为您的数据保护计划增添灵活性与经济性。

无论您面临的是日益增长的数据存储压力,还是对提升灾难恢复速度的迫切需求,本文都将提供宝贵的实战指导,帮助您在数据备份的征途上,以更精简的脚印,迈开更坚实的步伐。让我们一同探索,如何在保障业务连续性的基础上,实现备份存储的最优化,开启MySQL备份策略的新篇章

2.准备工作

2.1.环境信息

主机IP操作系统Mysql版本XtraBackup版本
172.17.0.2CentOS Stream release 98.0.378.0.35

2.2.配置/etc/my.cnf文件 

[xtrabackup]
host=localhost
port=3306
user=root
password=123456
socket=/var/lib/mysql/mysql.sock

 2.3.授予root用户BACKUP_ADMIN权限

grant BACKUP_ADMIN on *.* to 'root'@'%'

LOCK INSTANCE FOR BACKUP 是MySQL 8.0引入的一种新的备份相关SQL语句,主要用于在进行数据库备份时,以一种更为细粒度和高效的方式控制对数据库实例的访问,以保证备份的一致性。这个命令的工作原理及特点如下:

目的:在执行备份操作时,此命令用于获取一个实例级别的锁,该锁允许在备份过程中继续执行DML(数据操作语言,如INSERT、UPDATE、DELETE)操作,同时防止那些可能导致数据快照不一致的DDL(数据定义语言,如CREATE、ALTER、DROP)操作和某些管理操作。这样可以在不影响数据库服务的情况下进行备份,特别适用于需要最小化服务中断的在线备份场景。

权限需求:执行LOCK INSTANCE FOR BACKUP语句需要用户具备BACKUP_ADMIN权限。这是一个专门为了备份相关的高级操作而设计的权限级别。

兼容性:此特性是在MySQL 8.0及以上版本中引入的,早于8.0的MySQL版本并不支持这一语句,因此在使用旧版本时,可能需要依赖其他机制(如FLUSH TABLES WITH READ LOCK)来确保备份的一致性。

解锁:执行备份后,需要使用UNLOCK INSTANCE语句来释放之前由LOCK INSTANCE FOR BACKUP获得的锁,从而恢复正常操作。

与传统备份命令的对比:相比于传统的备份方法,如使用FLUSH TABLES WITH READ LOCK,LOCK INSTANCE FOR BACKUP提供了更小的性能影响,因为它不会完全阻止写操作,只是限制了可能引起数据不一致的活动,更适合于高可用性和高性能要求的生产环境。

2.4.安装qpress 

xtrabackup --compress使用qpress工具

yum install qpress -y

3. 压缩备份

登陆数据库创建employees2 表,为后面测试做准备

CREATE TABLE employees2(id INT AUTO_INCREMENT,          -- 自增的ID作为主键first_name VARCHAR(50) NOT NULL, -- 姓名,最大长度50,不能为空email VARCHAR(100) UNIQUE,      -- 电子邮件,最大长度100,必须唯一hire_date DATE,                 -- 入职日期PRIMARY KEY (id)                -- 指定id列为表的主键) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -- 使用InnoDB存储引擎,字符集为utf8mb4支持更多字符

3.1.创建压缩备份

xtrabackup --backup --compress --target-dir=/data/compressed/

 

3.2.创建全量备份 

 xtrabackup --backup  --target-dir=/data/backup_compressed/

3.3.对比两个备份的大小

可以看到压缩的备份比没有压缩的备份要小很多

4.解压备份

xtrabackup --decompress --target-dir=/data/compressed/

5.准备备份 

xtrabackup --prepare --target-dir=/data/compressed/

6.备份恢复

登陆数据库 删除之前创建的表

停止MySQL服务进行恢复数据  

systemctl stop mysqld
rsync -avrP /data/full_backup/ /var/lib/mysql/

恢复数据时,一定要记得更改数据目录下的文件拥有者以及所属组权限,否则mysql无法启动  

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

重启数据库查看数据是否恢复,可以看到之前被删除的表居然没有恢复成功


7.问题分析

按道理来说上面的操作应该没有什么问题的,为什么会没有恢复成功呐?刚开始的时候以为是备份的问题,然后将之前对比创建的全量备份进行恢复,但是恢复之后还是没有之前删除的那个表,本来这里准备创建个表然后弄个截图糊弄过去的,但是创建的时候居然报错了

报错这个表是存在的,那为什么看不到呐?既然库中看不到就去看数据目录 

查看数据目录的时候明显可以看到这个表是存在的,说明我们备份恢复成功了,但是在数据库中没有显示出来,这是为什么?

8.总结

可以看到这篇文章和之前的有一些区别,在使用xtrabackup命令的时候没有像前面一样在命令行中添加参数,这是因为我们将这些信息配置到了/etc/my.cnf文件【当您将相关参数(如MySQL的用户名称、密码、端口等)配置到/etc/my.cnf或相应的配置文件中时,Percona XtraBackup等MySQL备份工具在执行命令时就可以自动读取这些配置,因而无需在命令行中显式地添加这些参数。这是因为XtraBackup以及大多数MySQL客户端工具在启动时会按照特定的顺序查找并读取配置文件,包括但不限于/etc/my.cnf~/.my.cnf(用户家目录下的配置文件)等。 】。

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

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

相关文章

JavaScript 原型链那些事

在讲原型之前我们先来了解一下函数。 在JS中,函数的本质就是对象,它与其他对象不同的是,创建它的构造函数与创建其他对象的构造函数不一样。那产生函数对象的构造函数是什么呢?是一个叫做Function的特殊函数,通过newFu…

单片机软件架构连载(4)-结构体

枚举、指针、结构体,我愿称为C语言"三板斧"。 用人话来讲,几乎所有c语言高阶编程,都离不开这这3个知识点的应用。 今天站在实际产品常用的角度,给大家讲一下结构体。 1.结构体概念 结构体可以用来构建更复杂的数据结…

中霖教育怎么样?二建继续教育什么意思?

1. 为什么要继续教育? 根据现行规定,二级建设师在获取资格证书后,若时间超过三年无论是否已进行注册,均需参加继续教育。此举旨在确保专业技术人员能够不断更新和补充其专业知识与技能,进而提升其创新能力、创造能力以及专业技术…

事件mousePressEvent、paintEvent、closeEvent、keyPressEvent】

事件 mousePressEvent、paintEvent、closeEvent、keyPressEvent 鼠标样式的设置 按WSAD通过keyPressEvent事件移动按钮 通过事件mousePressEvent获取鼠标位置的相对位置,绝对位置 cusor 鼠标样式设置成十字星 .h #ifndef DEFAULTHANDLEREXAMPLE_H #define DEFAUL…

GANs算法简介、学习步骤及具体实现

生成对抗网络(Generative Adversarial Networks,GANs)自从2014年由Ian Goodfellow等人提出以来,已经成为深度学习领域中最活跃的研究方向之一。GAN的基本思想是利用两个神经网络——生成器(Generator)和判别…

做好私域服务就是赢得用户的心

私域流量的概念在当今的商业环境中已经变得极为重要,许多品牌和企业都投入大量资源尝试通过各种策略吸引并保留用户。然而,单纯的流量积累并不足以确保商业成功。当面对用户的沉默、缺乏活跃度以及无法变现的困境时,我们必须重新审视私域流量…

Perforce发布白皮书,解读电动汽车初创公司如何加速进入市场并降低软件开发中的风险和成本

电动汽车(EV)领域的初创企业正迅速崛起,创新速度显著加快。然而,随着消费者对电动汽车需求的激增,老牌汽车制造商正加速进军这一市场,加剧了行业竞争。为在竞争中生存并发展,电动汽车初创企业必…

硬盘错误0x80071ac3如何修复?5大免费修复法,轻松找回硬盘数据

今天我们要聊的是一个让大家头疼不已的问题——硬盘错误0x80071ac3。你是否也曾经遇到过这个烦人的错误代码,导致数据无法读取、文件丢失,甚至整个硬盘都无法正常使用?别担心今天小编就为大家详细解析这个错误的原因,并分享5个免费…

27_电子电路设计基础

电路设计 电路板的设计 电路板的设计主要分三个步骤:设计电路原理图、生成网络表、设计印制电路板。 (1)设计电路原理图:将元器件按逻辑关系用导线连接起来。设计原理图的元件来源是“原理图库”,除了元件库外还可以由用户自己增加建立新的元件&#…

WAIC | 2024年世界人工智能大会“数学与人工智能”学术会议成功举办!

由斯梅尔数学与计算研究院(Smale Institue of Mathematics & Computation)主办的2024年世界人工智能大会(WAIC)“数学与人工智能”学术会议7月4日在上海世博中心圆满落幕!作为全球性高级别学术研讨会,此次会议由华院计算技术&…

html+js+css练手小项目

文章目录 练手小项目前言1.多轮播图1.1 效果展示1.2 实现思路1.2.1 三张轮播图1.2.2 左侧轮播图 1.2.3 右侧轮播图1.2.4 整体结合 2.图片变色2.1 效果展示2.2 实现 练手小项目 ☀️作者简介:大家好我是言不及行yyds 🐋个人主页:言不及行yyds的…

字节码编程javassist之打印方法耗时和入参

写在前面 本文看下如何实现打印方法耗时和入参。 1:程序 需要增强的类: public class ApiTest1 {public Integer strToInt(String str01, String str02) {return Integer.parseInt(str01);}}插桩类 package com.dahuyou.javassist.huohuo.aa;import…

tableau条形图绘制 - 2

tableau条形图绘制 1. 条形图绘制-11.1 创建工作表1.2 修改工作表名称1.3 条形图绘制1.4 显示标签1.5 行列转换 2. 条形图绘制-22.1 新建工作表2.2 修改工作表名称2.3 条形图绘制2.4 价格度量选平均值2.5 标签度量选平均值2.6 升序,整个视图显示2.7 行列转换 3. 堆积…

模型训练结果可视化

📚博客主页:knighthood2001 ✨公众号:认知up吧 (目前正在带领大家一起提升认知,感兴趣可以来围观一下) 🎃知识星球:【认知up吧|成长|副业】介绍 ❤️如遇文章付费,可先看…

AntDesign上传组件upload二次封装+全局上传hook使用

文章目录 前言a-upload组件二次封装1. 功能分析2. 代码详细注释3. 使用到的全局上传hook代码4. 使用方式5. 效果展示 总结 前言 在项目中,ant-design是我们常用的UI库之一,今天就来二次封装常用的组件a-upload批量上传组件,让它用起来更方便。 a-uploa…

Spring Cloud: Nacos配置中心与注册中心的使用

一、配置中心(配置管理) 配置中心是一种集中化管理配置的服务。它的主要作用包括集中管理配置信息,将不同服务的配置信息集中存储和管理;支持动态更新配置,通过操作界面或 API 无需重启服务即可应用最新配置信息;实现配置信息共享…

如何解决亚马逊环境技术问题?自养号测评助力下单成功率飙升

在构建针对测评任务的环境系统时,确保系统的稳定性和操作成功率至关重要。面对市场上纷繁复杂的解决方案,如虚拟机、模拟器、GCS服务、云手机及VPS等,虽选择众多,但往往伴随着高昂成本与低成功率的挑战。因此,构建一个…

数据库课设---酒店管理系统(MySQL、VBNet)

目录 一. 知识技术 二. 需求分析 2.1 功能需求 2.2 数据需求 三. 数据流图与数据字典 3.1 数据流图 3.1.1 业务流图 3.1.2 数据流图 3.1.3 关系图 3.2 数据字典 四. 数据库设计 4.1 概念模型设计 4.2 逻辑模型设计 4.3 数据库实现 …

网络规划与设计————期末复习

一、选择题(每题1分) 1、光纤线组建的标准以太网是______。 A.10BASE-5 B.10BASE-2 C.10BASE-T D.10BASE-F 其实也很好记,光纤的英文是 "Fiber Optic",双绞线的英文是 "Twisted Pair"。 5呢…

苹果电脑压缩软件哪个好用一些? mac电脑用什么压缩软件 mac电脑压缩文件怎么设置密码

压缩软件是Mac电脑必不可少的工具,虽然Mac系统自带了一款“归档实用工具”,但是其功能实在匮乏,若你需要加密压缩文件或者把文件压缩成指定格式,那么该工具无法满足你的需求。Mac用户应该怎么选择压缩软件呢?本文就来告…