Xtrabackup介绍与原理
一、Xtrabackup介绍
MySQL冷备、mysqldump、MySQL热拷贝都无法实现对数据库进行增量备份。在实际生产环境中增量备份是非常实用的,如果数据大于50G或100G,存储空间足够的情况下,可以每天进行完整备份,如果每天产生的数据量较大,需要定制数据备份策略。例如每周实用完整备份,周一到周六实用增量备份。而Percona-Xtrabackup就是为了实现增量备份而出现的一款主流备份工具,xtrabakackup有2个工具,分别是xtrabakup、innobakupe。
Percona-xtrabackup是 Percona公司开发的一个用于MySQL数据库物理热备的备份工具,支持MySQL、Percona server和MariaDB,开源免费,是目前较为受欢迎的主流备份工具。xtrabackup只能备份innoDB和xtraDB两种数据引擎的表,而不能备份MyISAM数据表。
二、Xtrabackup优点
(1)备份速度快,物理备份可靠
(2)备份过程不会打断正在执行的事务(无需锁表)
(3)能够基于压缩等功能节约磁盘空间和流量
(4)自动备份校验
(5)还原速度快
(6)可以流传将备份传输到另外一台机器上
(7)在不增加服务器负载的情况备份数据
三、Xtrabackup备份原理
Xtrabackup备份流程图:
(1)innobackupex启动后,会先fork一个进程,用于启动xtrabackup,然后等待xtrabackup备份ibd数据文件;
(2)xtrabackup在备份innoDB数据是,有2种线程:redo拷贝线程和ibd数据拷贝线程。xtrabackup进程开始执行后,会启动一个redo拷贝的线程,用于从最新的checkpoint点开始顺序拷贝redo.log;再启动ibd数据拷贝线程,进行拷贝ibd数据。这里是先启动redo拷贝线程的。在此阶段,innobackupex进行处于等待状态(等待文件被创建)
(4)xtrabackup拷贝完成ibd数据文件后,会通知innobackupex(通过创建文件),同时xtrabackup进入等待状态(redo线程依旧在拷贝redo.log)
(5)innobackupex收到xtrabackup通知后哦,执行FLUSH TABLES WITH READ LOCK(FTWRL),取得一致性位点,然后开始备份非InnoDB文件(如frm、MYD、MYI、CSV、opt、par等格式的文件),在拷贝非InnoDB文件的过程当中,数据库处于全局只读状态。
(6)当innobackup拷贝完所有的非InnoDB文件后,会通知xtrabackup,通知完成后,进入等待状态;
(7)xtrabackup收到innobackupex备份完成的通知后,会停止redo拷贝线程,然后通知innobackupex,redo.log文件拷贝完成;
(8)innobackupex收到redo.log备份完成后,就进行解锁操作,执行:UNLOCK TABLES;
(9)最后innbackupex和xtrabackup进程各自释放资源,写备份元数据信息等,innobackupex等xtrabackup子进程结束后退出。
Xtrabackup介绍与原理相关推荐
- MariaDB/MySQL备份和恢复(三):xtrabackup用法和原理详述
MariaDB/MySQL备份恢复系列: 备份和恢复(一):mysqldump工具用法详述 备份和恢复(二):导入.导出表数据 备份和恢复(三):xtrabackup用法和原理详述 xtrabacku ...
- AbstractQueuedSynchronizer的介绍和原理分析
简介 提供了一个基于FIFO队列,可以用于构建锁或者其他相关同步装置的基础框架.该同步器(以下简称同步器)利用了一个int来表示状态,期望它能够成为实现大部分同步需求的基础.使用的方法是继承,子类通过 ...
- 【helpdesk】启明星helpdesk7.0版本里,实现邮件提交功能介绍和原理
在启明星helpdesk7.0版本里,新增了一个功能:邮件提交.所谓邮件提交就是用户直接发送邮件到IT.当然IT通常会公开一个公共邮件,例如support@dotnetcms.org.下面介绍一下启明 ...
- 文档下载:《两万字深度介绍分布式系统原理》.pdf
墨天轮文档:<两万字深度介绍分布式系统原理!>:https://www.modb.pro/doc/2028(复制到浏览器中打开或者点击"阅读原文"进行下载) 由于篇幅有 ...
- Attension Mechanism模型的详细介绍,原理、分类及应用
模型汇总24 - 深度学习中Attention Mechanism详细介绍:原理.分类及应用 Attention是一种用于提升基于RNN(LSTM或GRU)的Encoder + Decoder模型的效 ...
- 【卡尔曼滤波介绍与原理解析】
[卡尔曼滤波介绍与原理解析] 学习参考外文链接:http://www.bzarg.com/p/how-a-kalman-filter-works-in-pictures/. 参考链接:https:// ...
- CGLIB介绍与原理
CGLIB介绍与原理(部分节选自网络) 一.什么是CGLIB? CGLIB是一个功能强大,高性能的代码生成包.它为没有实现接口的类提供代理,为JDK的动态代理提供了很好的补充.通常可以使用Java的动 ...
- 【ironic】ironic介绍与原理
[ironic]ironic介绍与原理 零,配置文件 0.1 配置驱动 文件ironic.conf, ipmi硬件类型,默认值也是ipmi, pxe_ipmitool驱动也是默认值,配置驱动 [DEF ...
- CNI 网络分析 4.1 Calico 介绍与原理(一)
文章目录 Calico 介绍与原理(一) 介绍 安装 Calico-node 初始化 Calico-node 服务 Felix confd allocate-tunnel-addrs monitor- ...
最新文章
- softmax 与 logsoftmax 区别 或者说logsoftmax优点
- WIN10 + VS2015 + WDK10 + SDK10 + VM虚拟机驱动开发调试环境搭建
- linux 内存管理中的 rss 和 vsz
- python不同层级模块的导入和文件的读写
- Python_summary
- 数学--线性代数--奇异值分解(SVD)
- 预告 | CSIG图像图形学科前沿讲习班:图神经网络
- mysql常见的错误码
- 在ASP.NET Core中创建自定义端点可视化图
- odoo tree视图过滤数据_数据存储结构 LSM Tree PK B TREE (从底层了解数据库设计)...
- Spring缓存注解@CachePut , @CacheEvict,@CacheConfig使用
- Java固定资产管理系统源码
- 【新书速递】CSO进阶之路首次曝光
- IDEA 获取破解码(注册码)简单破解IDEA
- 阿里天池--宫颈癌检测(基于fastRCNN)新手初次尝试
- Holy Grail【spfa签到题】
- 【机器学习】Adaboost
- 一次ffmpeg -c copy 在avformat_write_header函数处报错:Could not find tag for codec rawvideo in stream #0的原因分析
- IDEA 同时打开两个项目
- JavaScript 动态数据处理