xtrabackup 使用
官网
Percona XtraBackup
Use APT repositories - Percona XtraBackup
一 安装
下载
wget https://repo.percona.com/apt/percona-release_latest.$(lsb_release -sc)_all.deb
wget https://repo.percona.com/apt/percona-release_latest.zesty_all.deb
可下载列表 Percona Repo
加源
dpkg -i percona-release_latest.$(lsb_release -sc)_all.deb
dpkg -i percona-release_latest.zesty_all.deb
源文件列表 用于检查
/etc/apt/sources.list.d/percona-release.list
允许使用
percona-release enable-only tools release
或者配和mysql使用 percona-release enable-only tools.
安装
apt updateapt install percona-xtrabackup-80
可用参数
xtrabackup --help
--host='ip地址'
--user='用户名'
--password='密码'
--port='端口'
--backup 将备份保存到target-dir
--target-dir='目标目录'
--incremental-basedir=全量备份位置 (对于--backup):只复制指定目录下比backup更新的。ibd页面。
--perpare 准备一份备份,以便在备份上启动mysql服务器。redo log日志合并。
--apply-log-only 在准备过程中应用日志后,停止恢复进程,不进行LSN进程。
--copy-back 将以前备份的所有文件从备份目录复制到它们的原始位置。
二 备份
全量备份
xtrabackup --host='ip地址' --user='用户名' --password='密码' --backup --target-dir=全量备份保存位置
增量备份
xtrabackup --host='ip地址' --user='用户名' --password='密码' --backup --incremental-basedir=全量备份位置 --target-dir=增量备份位置
三 还原
增量备份的--prepare步骤与完全备份的--prepare步骤不同。
在完全备份中,执行两种类型的操作以使数据库保持一致:根据数据文件从日志文件重放已提交的事务,回滚未提交的事务。在准备增量备份时,必须跳过未提交事务的回滚,因为在备份时未提交的事务可能正在进行中,并且很可能在下一次增量备份中提交。您应该使用--apply-log-only选项来防止回滚阶段。
全量还原
#日志还原
xtrabackup --prepare --target-dir=全量备份位置#文件还原
xtrabackup --copy-back --target-dir =全量备份位置
增量还原
如果不使用--apply-log-only选项来阻止回滚阶段,那么增量备份将是无用的。回滚事务后,不能应用进一步的增量备份。
xtrabackup --defaults-file=/etc/my.cnf --prepare --apply-log-only --target-dir=全量备份位置 --incremental-dir=增量备份位置xtrabackup --defaults-file=/etc/my.cnf --copy-back --apply-log-only --target-dir=全量备份位置 --incremental-dir=增量备份位置
四 原理
基本概念
mysql日志包括 redo log和undo log。redo log又叫事务日志,记录包含了对InnoDB数据的每次更改的记录。所以使用redo log备份InnoDB数据。
在MySQL中,IBD文件是InnoDB存储引擎的表空间文件,用于存储数据和索引。每个InnoDB表都会对应一个或多个.ibd文件,其中包含了表的数据和索引信息。
LSN(Log Sequence Number,日志序列号)是一个核心概念,是数据库内部用于跟踪事务日志(redo log)中各个记录位置的唯一标识符。
xtrabackup将提交的事务日志项应用于数据文件,并对修改数据但未提交的任何事务执行撤消操作。
流程
XtraBackup启动时运行一个后台进程来监视事务日志文件,并复制任何更改。
之后记住LSN,然后复制数据文件。LSN反映了数据库在不同时间点的状态。
XtraBackup会持续这样做。事务日志以循环方式写入,并且可以重用,即备份流程结束。
当服务器支持备份锁时,xtrabbackup首先复制InnoDB数据,然后运行LOCK TABLES FOR backup,然后复制MyISAM表。完成此操作后,将开始备份文件,会备份.frm, .MRG, .MYD, .MYI, .CSM, .CSV, .sdi and .par 文件。
xtrabbackup使用Backup锁,备份完成后解锁。
总结
XtraBackup启动时,监控并复制任何更改,即热备。
之后记住LSN版本,并复制相关用于还原的文件。增量备份,需保证LSN版本大于之前版本。
五 参考内容
详细分析MySQL事务日志(redo log和undo log)_redolog和undolog的区别-CSDN博客
Xtrabackup工作原理_xtrabackup备份原理-CSDN博客
How Percona XtraBackup works - Percona XtraBackup
MySQL中LSN介绍(日志序列号)_mysql lsn-CSDN博客
mysql中的ibd文件是什么_mysql中的ibd文件是什么意思-常见问题-PHP中文网
MySQL中的xtrabackup的原理解析_xtrabackup --prepare-CSDN博客
相关文章:
xtrabackup 使用
官网 Percona XtraBackup Use APT repositories - Percona XtraBackup 一 安装 下载 wget https://repo.percona.com/apt/percona-release_latest.$(lsb_release -sc)_all.deb wget https://repo.percona.com/apt/percona-release_latest.zesty_all.deb 可下载列表 Perc…...
C++写一个简单的计算器程序案例
1. 编写C源代码 创建一个名为 advanced_calculator.cpp 的文件,并编写以下代码: // advanced_calculator.cpp #include <iostream> #include <limits>int main() {char operatorChoice;bool keepRunning true;while (keepRunning) {int nu…...
Spring Boot 开发 -- swagger3.0 集成
前言 随着微服务架构的普及和API数量的增长,API文档的管理和维护变得尤为重要。Swagger作为一款强大的API文档生成工具,能够帮助我们自动生成API文档,并提供在线测试功能,极大地提高了开发效率。本文将介绍如何在Spring Boot项目…...
探索安全之道 | 企业漏洞管理:从理念到行动
如今,网络安全已经成为了企业管理中不可或缺的一部分,而漏洞管理则是网络安全的重中之重。那么企业应该如何做好漏洞管理呢?不妨从业界标准到企业实践来一探究竟!通过对业界标准的深入了解,企业可以建立起完善的漏洞管…...
【记录贴:分布式系列文章】
分布式系列文章目录 文章目录 分布式系列文章目录前言一、Redisq1.怎么判断是否命中缓存1. MySQL数据库如何检查询查缓存是否命中链接2.如何判断redis是否命中缓存链接 q2.Redis缓存穿透、雪崩、击穿以及分布式锁和本地锁 二、分布式q1.分布式订单号生成策略q2.接口幂等性,防止…...
初识SDN(二)
初识SDN(二) SDN部分实现 REST API 是什么? REST API(Representational State Transfer Application Programming Interface,表述性状态传递应用程序接口)是一种基于HTTP协议的接口,广泛用于…...
某红书旋转滑块验证码分析与协议算法实现(高通过率)
文章目录 1. 写在前面2. 接口分析3. 验证轨迹4. 算法还原 【🏠作者主页】:吴秋霖 【💼作者介绍】:擅长爬虫与JS加密逆向分析!Python领域优质创作者、CSDN博客专家、阿里云博客专家、华为云享专家。一路走来长期坚守并致…...
Gin的快速入门和搭建
文章目录 Go的工程工程架构技术选型 Gin入门 Go的工程 基于Go生态,构建一个支持内容管理,内容加工、内容分发的内容库系统。 内容管理:增删改查内容加工:例如内容审核、推荐等内容分发:将内容可以推到不同的业务线 …...
react-native运行程序 出现 Application XXX is waiting for the debugger
1.重启adb: adb kill-server、 adb start-server. 2、确定USB调试模式是否开启,如果已经开启了,关闭了重新打开一下 3.选择调试模式并关闭等待调试程序...
什么文档加密软件好用?迅软DSE加密软件你不会还不知道吧?
一、什么文档加密软件好用? 其中有迅软DSE文档加密软件等。 迅软DSE加密软件:让企业的创意成果、招投标文件、生产工艺、流程配方、研发成果、公司计划、员工信息等核心数据更安全。 多方面加密模式,有效防止数据泄密 透明无感知加密&…...
【kubernetes】关于k8s集群的污点、容忍、驱逐以及k8s集群故障排查思路
目录 一、污点(Taint) 1.1污点介绍 1.2污点的组成格式 1.3当前 taint effect 支持如下三个选项: 1.4污点的增删改查 1.4.1验证污点的作用——NoExecute 1.4.2验证污点的作用——NoSchedule 1.4.3 验证污点的作用——PreferNoSchedule 1.5污点的配置与管理…...
linux进程加载和启动过程分析
我们的源代码通过预处理,编译,汇编,链接后形成可执行文件,那么当我们在终端敲下指令$ ./a.out argv1 argv2 后,操作系统是怎么将我们的可执行文件加载并运行的呢? 首先知道,计算机的操作系统的启动程序是写死在硬件上的,每次计算机上电时,都将自动加载启动程序,之后…...
WLAN组网模型探究
目录 一、WLAN基本概念二、WLAN组网方式三、WLAN转发模型 随着信息技术的飞速发展,无线局域网(WLAN)已逐渐成为企业网络架构中不可或缺的一部分。不同的企业组织因其业务特性、规模大小及安全需求的不同,对WLAN的要求也各有侧重。…...
操作系统基础知识
一. 进程 进程是正在运行中的程序,是动态的 进程是资源分配的最小单位 进程的基本特征:动态性,并发性,独立性,异步性 二. 线程 线程在执行过程中的每一个任务就是一个线程 进程是由一个或多个线程组成࿰…...
Kompas AI:智能生活的开启者
引言 在现代社会,**人工智能(AI)**已经深刻地影响了我们的生活和工作。无论是智能家居、自动驾驶,还是医疗诊断,AI的应用无处不在。而在众多AI平台中,Kompas AI 作为一个先进的对话式AI平台,通过…...
Java——二进制原码、反码和补码
一、简要介绍 原码、反码和补码只是三种二进制不同的表示形式,每个二进制数都有这三个形式。 1、原码 原码是将一个数的符号位和数值位分别表示的方法。 最高位为符号位,0表示正,1表示负,其余位表示数值的绝对值。 例如&…...
git使用流程
1.下载git 搜索下载 2.注册github账号(打开爬墙工具) 创建一个仓库 3.配置邮箱和密码 4.所以找一个文件夹 鼠标右键 选择 open Git Bash here(当前文件夹下打开命令行) 输入命令 配置用户名和邮箱 5.将建的仓库克隆下来 …...
C++设计模式|结构型 代理模式
1.什么是代理模式? 代理模式Proxy Pattern是一种结构型设计模式,用于控制对其他对象的访问。 在代理模式中,允许一个对象(代理)充当另一个对象(真实对象)的接口,以控制对这个对象的…...
C语言 带头双向循环链表的基本操作
带头双向循环链表的基本操作 结构体定义初始化创建新节点头插头删尾插尾删查找在指定位置之后插入删除指定位置的值打印 结构体定义 typedef int DataType; typedef struct LinkNode {DataType data;struct LinkNode* prev;struct LinkNode* next; }LNode;初始化 有两种初始化…...
MATLAB中扩展卡尔曼滤波误差估计的关键点
在MATLAB中,对于扩展卡尔曼滤波(EKF)的误差估计,主要涉及对系统状态估计的准确性和精度的评估。EKF是一种适用于非线性系统的状态估计方法,它通过递归的方式,结合系统的动态模型和观测模型,来预…...
CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型
CVPR 2025 | MIMO:支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题:MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者:Yanyuan Chen, Dexuan Xu, Yu Hu…...
转转集团旗下首家二手多品类循环仓店“超级转转”开业
6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...
Linux-07 ubuntu 的 chrome 启动不了
文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...
用docker来安装部署freeswitch记录
今天刚才测试一个callcenter的项目,所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...
【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具
第2章 虚拟机性能监控,故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令:jps [options] [hostid] 功能:本地虚拟机进程显示进程ID(与ps相同),可同时显示主类&#x…...
RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...
基于matlab策略迭代和值迭代法的动态规划
经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...
html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码
目录 一、👨🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨…...
人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...
基于Springboot+Vue的办公管理系统
角色: 管理员、员工 技术: 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能: 该办公管理系统是一个综合性的企业内部管理平台,旨在提升企业运营效率和员工管理水…...
