技术分享 | XtraBackup 备份加速

statefulset部署mysql主从 statefulset部署myql主从 阅读详情

概述

XtraBackup 是一款对于 MySQL 物理备份必不可少的工具,但是有时候在备份数据量级较大的数据库时,如果未做优化的话,还是有点慢,当然相对于逻辑备份,已然是很快了,那到底还能不能再快一点呢,又是什么参数在影响着 XtrBackup 的备份速度呢?带着这个疑问我们往下看。

首先我们需要先了解 XtraBackup 的备份原理,话不多说直接看图。

如图所示:

1.当 innobackupex 命令开始备份的时候,首先会启动 xtrabackup 进程,xtrabackup 又分为两个线程,一个用于拷贝 ibd 文件,一个用于拷贝 redo 文件,redo 的拷贝线程只有一个,在 ibd 的拷贝线程启动前启动,在 ibd 的拷贝线程结束后结束。

2.xtrabackup 拷贝完成 idb 后,通知 innobackupex(通过创建文件),同时自己进入等待(redo 线程仍然继续拷贝)

3.innobackupex 收到 xtrabackup 通知后,执行 FLUSH TABLES WITH READ LOCK (FTWRL),取得一致性位置点,然后开始备份非 InnoDB 文件(包括 frm、MYD、MYI、CSV、opt、par 等)。拷贝非 InnoDB 文件过程中,因为数据库处于全局只读状态,非 InnoDB 表(主要 是MyISAM)如果比较多的话整库只读时间就会比较长。

4.当 innobackupex 拷贝完所有非 InnoDB 表文件后,通知 xtrabackup(通过删文件) ,同时自己进入等待(等待另一个文件被创建);

5.xtrabackup 收到 innobackupex 备份完非 InnoDB 通知后,就停止 redo 拷贝线程,然后通知 innobackupex,redo log 拷贝完成(通过创建文件);

6.innobackupex 收到 redo 备份完成通知后,就开始解锁,执行 UNLOCK TABLES;

7.最后 innobackupex 和 xtrabackup 进程各自完成收尾工作,如资源的释放、写备份元数据信息等,innobackupex 等待 xtrabackup 子进程结束后退出

参数介绍

能够让我们加速备份的参数其实严格来说有以下两个:

  1. –parallel

2.–compress-threads

先来说第一个参数 --parallel,先看下官方解释:

也就是说,这个参数的作用是,在 XtraBackup 备份开始拷贝 ibd 文件的时候可以并行拷贝的线程数量,默认的话是单线程拷贝的,如果 ibd 文件较多的话只能拷贝完一个再继续下一个,有一点需要注意如果表存储在一个 ibd 文件中,那么他将不会起到任何作用。

再看 --compress-threads 官网给出的解释:

简单来说就是针对 InnoDB 数据文件进行压缩的线程数,在指定这个参数的时候无需加上 --compress 也可以实现压缩。

测试

备份命令:

[root@TEST/data]# innobackupex --host=127.0.0.1 --user=root --password=123456 --port=3306 --parallel=4 --compress-threads=4 --stream=xbstream --tmpdir=/backup/tmp --no-version-check /backup  >/backup/20210125/20210125`date +%H%M`
硬件数据量参数所用时间
8C/8G100Gnull20分钟
8C/8G100G–compress-threads=415分钟
8C/8G100G–parallel=412分钟
8C/8G100G–parallel=4;–compress-threads=48分钟
MySQL 8.0 物理备份实战:Percona XtraBackup 安装、全量与增量备份恢复指南 数据库备份是保障数据安全与业务连续性的核心实践。其原理在于通过特定技术手段,在不停机或影响极小的情况下,捕获数据库在某一时间点的完整状态。物理备份技术因其直接拷贝数据文件、速度快、对业务影响小的特点,成为中大型生产环境的首选方案,尤其适用于需要快速恢复的海量数据场景。Percona XtraBackup 作为一款成熟的开源物理备份工具,通过巧妙追踪重做日志实现热备份,完美支持 MySQL 8.0 的新特性。本文将以工程实践为导向,详细解析其安装部署、全量/增量备份策略制定、以及关键的数据恢复演练流程,帮助运 阅读详情

相关推荐

快照不是备份:生产环境数据保护的底层逻辑与实操

数据备份是保障业务连续性的基础能力,其核心在于可移植性、时间纵深和可验证性;快照则是一种存储层瞬时状态捕获机制,依赖原始卷且缺乏独立校验能力。二者在RPO/RTO控制、恢复验证难度和灾备合规性上存在本质差异。原生备份方案(如pg_basebackup、XtraBackup)通过数据序列化与存储解耦,支撑跨环境恢复与自动化校验;而快照仅适合作为短期缓冲或误操作回滚辅助。真实生产中,混淆二者常导致灾备失效——例如快照元数据损坏后无可用备份、或未验证备份完整性致使恢复失败。本文结合MySQL与PostgreSQL

chudan0503的博客 437

下载被墙镜像

前提:https://github.com/ https://hub.docker.com/ 注册一个github账户和一个dockerhub账户 注:所写的每一步都是必须的 1.登录github创建一个项目 Repositories : new一个github项目 Repository name : github项目名称 Initialize this repository ...

s2421458535的博客 1701

Dify密钥安全管理:从备份到恢复的完整生命周期实践

在AI应用开发与部署中,密钥安全管理是保障系统稳定与数据安全的核心环节。其原理在于对API密钥、访问凭证等敏感信息进行全生命周期的加密、存储与访问控制,以防止泄露和丢失。有效的密钥管理技术能显著降低单点故障风险,确保业务连续性,对于连接大模型与外部工具的AI平台至关重要。在实际应用场景中,这涉及密钥的生成、存储、使用监控、定期备份与灾难恢复演练。本文聚焦于Dify平台,针对其本地与云原生部署,详细阐述了如何通过自动化脚本、加密策略及恢复流程,构建一套涵盖数据库凭证、SECRET_KEY及第三方密钥的完整备份

weixin_30947043的博客 452

MariaDB/MySQL备份和恢复(三):xtrabackup用法和原理详述

MariaDB/MySQL备份恢复系列: 备份和恢复(一):mysqldump工具用法详述 备份和恢复(二):导入、导出表数据 备份和恢复(三):xtrabackup用法和原理详述 xtrabackup是percona团队研发的备份工具,比MySQL官方的ibbackup的功能还要多。支持myisam温全备、innodb热全备和温增备,还可以实现innodb的定时点恢复,而且备份...

weixin_34410662的博客 350

PHP+MySQL BLOB在Ubuntu 18.04中安全存图实战

BLOB(Binary Large Object)是关系型数据库中存储二进制数据的核心机制,其本质是将图片、PDF等文件以字节流形式内嵌于表记录中,实现与业务字段的强事务一致性。相比文件系统路径存储,BLOB天然规避了权限失控、备份不同步、孤儿文件等运维风险,特别适用于工单系统、巡检平台等‘小而密、强关联’场景。技术实现需兼顾MySQL类型选型(如BLOB vs MEDIUMBLOB)、PHP二进制处理(GD库压缩/水印)、Ubuntu 18.04环境特异性配置(mysqli扩展、max_allowed_p

germmy-神一样的开发 416

K8S部署MySQL5.7的主从服务

【代码】K8S部署MySQL5.7的主从服务。附带gcr.io/google-samples/xtrabackup:1.0资源

like a dog 535

mysql的多实例部署和xtrabackup备份与恢复

1.mysql多实例部署 软件下载 [root@localhost src]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz 配置用户和组并解压二进制程序至/usr/local下 [root@localhost src]# groupadd -r mysql #创建组 [root@localhost src]# useradd -M -s /sbin/no

在你书包里拉屎的博客 262

gcr.io/google-samples/xtrabackup:1.0

MySQL+xtrabackup:1.0实现读写分离

MySQL热备利器XtraBackup实战指南

数据库备份是保障数据安全的核心技术,物理备份通过直接复制数据文件实现高效存储。XtraBackup作为MySQL热备工具的代表,采用InnoDB引擎原生接口,在保证事务一致性的同时实现不锁表备份。其增量备份机制基于LSN日志序列号,仅同步变化数据块,结合并行处理技术可提升TB级数据库的备份效率。在电商、金融等需要24/7服务的高并发场景中,XtraBackup的快速恢复特性可将RTO降低80%以上。本文详解如何通过--parallel参数优化线程数,使用ZSTD压缩减少存储占用,并给出全量+增量的自动化备份

weixin_34163553的博客 365

【技术纵览】行为识别前沿模型演进:从CNN到多模态大模型

本文全面解析了行为识别技术从CNN到多模态大模型的演进历程,重点介绍了SlowFast、TimeSformer、VideoMAE和InternVideo等SOTA模型的核心创新与应用实践。通过对比分析各代模型在Kinetics-400等数据集上的表现,揭示了自监督学习和多模态融合如何推动行为识别准确率突破85%,并探讨了工业部署中的技术选型策略与优化方向。

weixin_29169505的博客 153

别慌!Oracle MOS登录页面大变样?5分钟搞定新旧账号登录全流程

本文详细解析Oracle MOS登录页面改版后的新旧账号登录流程,帮助用户快速适应账号体系变革。针对传统MOS账号和OCI账号的不同应用场景,提供5分钟内完成无缝切换的实用指南,包括登录步骤、书签设置和密码管理策略,助力数据库管理用户高效访问Oracle技术支持资源。

weixin_30275415的博客 514

mysql数据库备份总结_mysql 数据库备份的多种实现方式总结

本文实例讲述了mysql 数据库备份的多种实现方式。分享给大家供大家参考,具体如下:一、使用mysqldump进行备份1、完整备份所有数据库mysqldump -u root -p --all-databases > E:/all.sql在mysql8之前,存储过程和事件存储在mysql.proc和mysql.event表中。从mysql8开始,相应对象的定义存储在数据字典中,这些表不会被备...

weixin_31164189的博客 651

华为OD机考2025C卷 - 精准核酸检测(Java & Python& JS & C++ & C语言)

华为OD机考2025C卷 - 精准核酸检测,提供在线OJ Java & Python& JS & C++ & C

算法大师! 2881

MySQL逻辑备份

我们一般采用mysqldump的方式,对于mysql dump,有两种备份方式,一种是形成恢复脚本,这个是默认的备份方式,还有就是生成行数据文件,将来采用load data加载数据,后者速度更快,因此对于逻辑备份,我们建议采用后者,就是mysqldump -T的方式   1、mysqldump备份的时候,对于myisam表,我们采用-l的方式加锁备份,来保证数据的一致性,也可以采用sk...

weixin_38168786的博客 88

黑猫带你学Nand第8篇:NandFlash的供电情况详解

是指在任何工作条件下,设备允许的最大电压、电流、功率以及温度等参数的界限值。

黑猫奥利奥的博客 1148

Agent Skills应用解析:构建可扩展、高效率AI探员

Agent Skills是一个简洁而强大的概念:它是一个包含组织化的指令、脚本和资源的文件夹,智能体可以动态地发现并加载这些内容,以在特定任务中表现更佳。可组合性(Composability):一个Agent Skill是一个独立的、封装良好的能力单元。开发者可以为不同的功能(例如PDF处理、网络浏览、数据分析)创建独立的技能,然后根据需要将它们组合起来,赋能不同的智能体。这意味着不再需要为每个用例构建碎片化、定制设计的智能体,而是可以通过组合现有技能来快速构建新的专业智能体。

形上得其象,形下合于数;阴阳自济,玄理自明。 1627

mysql 多备份,mysql 数据库备份的多种实现方式总结

本文实例讲述了mysql 数据库备份的多种实现方式。分享给大家供大家参考,具体如下:一、使用mysqldump进行备份1、完整备份所有数据库在mysql8之前,存储过程和事件存储在mysql.proc和mysql.event表中。从mysql8开始,相应对象的定义存储在数据字典中,这些表不会被备份。要将存储过程和事件也包含,请使用如下语句:2、时间点恢复要获得时间点恢复,应该指定--single-...

weixin_39541600的博客 413

华为OD机试真题 新系统 9月16号 【统计特殊数字】

华为OD新系统机试真题【统计特殊数字】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【统计特殊数字】。

qq_45776114的博客 765

Java+Vue全栈超市管理系统设计与实现

超市管理系统作为零售行业的核心业务系统,需要处理高并发交易、实时库存同步和复杂数据分析。采用B/S架构的Java+Vue全栈方案,通过Spring Boot提供稳定的后端服务,结合Vue.js构建响应式前端界面,实现了收银效率、库存精准和数据分析三大核心需求。技术实现上,利用MySQL保证事务可靠性,通过WebSocket实现实时数据同步,并针对超市场景优化了条码识别、库存预警等关键功能。这种架构特别适合中小型超市,能够支持多设备访问和跨平台使用,有效提升运营效率和管理水平。

weixin_34342992的博客 408

国科大作业考试资料《人工智能原理与算法》2024新编-第二次作业整理

1、对于下列活动,分别给出任务环境的PEAS描述, 并按2.3.2节列出的性质进行分析: 3、为图2.2中描述的吸尘器世界实现一个可以进行性能度量的环境模拟器。你的实现是必须是模块化的,以使传感器、执行器和环境特征(大小、形状、灰尘放置等)便于修改。 4、实现上述题目真空吸尘器环境中的简单反射Agent。用所有可能的初始灰尘分布和Agent位置,运行环境模拟器和Agent。记录Agent在每种情况下的性能评分和总体平均评分。

MatsumotoChrikk 1187

【WorkBuddy专栏36】从踩坑到上线——WorkBuddy代码开发避坑指南与部署完全手册

【WorkBuddy专栏36】从踩坑到上线——WorkBuddy代码开发避坑指南与部署完全手册

AI人人懂 1062

如何把 MySQL 备份验证性能提升 10 倍

我们把局部图像放大,不同颜色代表不同类型的操作就一目了然。排除掉与本次操作无关的几个线程。在数据准备过程中有 4 个线程负责读,5 个线程负责写数据,读写在时间上都是重叠的。增大 XtraBackup 的内存缓冲区参考 XtraBackup,数据准备是使用内嵌的 InnoDB 在备份数据集上执行故障修复(crash recovery)的过程。使用增大内嵌 InnoDB 的内存缓冲区大小,默认 100MB,我们增大到 4GB。

2401_84048161的博客 428

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

MySQL客户端数据导出导入实战:从CSV处理到自动化备份

数据库的导入导出是数据迁移、备份恢复和系统间数据交换的核心操作,其本质是将结构化数据在不同存储介质或系统间进行序列化与反序列化的过程。在MySQL生态中,除了专业的mysqldump工具,mysql命令行客户端本身也提供了强大的数据流转能力,通过执行SQL语句与输出重定向,能灵活应对多种数据交换场景。其技术价值在于为开发者提供了一种轻量级、可脚本化的数据管道方案,尤其适合快速提取查询结果、处理定制化格式或集成到自动化流程中。在数据同步、环境迁移、日志分析和报表生成等应用场景下,掌握mysql命令的导入导出技

congji3817的博客 435

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

微信聊天记录安全备份与迁移实战:基于PyWxDump的数据保全指南

数据备份与迁移是数字资产管理中的基础且关键的环节,尤其在处理即时通讯数据时更为重要。其核心原理在于对本地加密存储的数据进行安全读取与转换,确保信息的完整性与可移植性。从技术价值看,这不仅关乎个人数据的长期保存,更涉及在系统重装、设备更换或跨平台迁移等场景下的数据连续性保障。在应用层面,类似的需求广泛存在于从传统数据库(如MySQL)迁移到新型数据库,或在不同操作系统间同步数据的工程实践中。本文聚焦于微信聊天记录这一具体场景,深入探讨如何利用PyWxDump工具,结合增量备份与版本管理思想,构建一套安全、可控

weixin_33834137的博客 742

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

上一篇: 第23期:索引设计(组合索引不适用场景改造)
下一篇: 技术分享 | 一次数据库迁移
爱可生开源社区
博客等级 码龄8年 1936粉丝 1004原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值