一、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介绍与原理相关推荐

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

    MariaDB/MySQL备份恢复系列: 备份和恢复(一):mysqldump工具用法详述 备份和恢复(二):导入.导出表数据 备份和恢复(三):xtrabackup用法和原理详述 xtrabacku ...

  2. AbstractQueuedSynchronizer的介绍和原理分析

    简介 提供了一个基于FIFO队列,可以用于构建锁或者其他相关同步装置的基础框架.该同步器(以下简称同步器)利用了一个int来表示状态,期望它能够成为实现大部分同步需求的基础.使用的方法是继承,子类通过 ...

  3. 【helpdesk】启明星helpdesk7.0版本里,实现邮件提交功能介绍和原理

    在启明星helpdesk7.0版本里,新增了一个功能:邮件提交.所谓邮件提交就是用户直接发送邮件到IT.当然IT通常会公开一个公共邮件,例如support@dotnetcms.org.下面介绍一下启明 ...

  4. 文档下载:《两万字深度介绍分布式系统原理》.pdf

    墨天轮文档:<两万字深度介绍分布式系统原理!>:https://www.modb.pro/doc/2028(复制到浏览器中打开或者点击"阅读原文"进行下载) 由于篇幅有 ...

  5. Attension Mechanism模型的详细介绍,原理、分类及应用

    模型汇总24 - 深度学习中Attention Mechanism详细介绍:原理.分类及应用 Attention是一种用于提升基于RNN(LSTM或GRU)的Encoder + Decoder模型的效 ...

  6. 【卡尔曼滤波介绍与原理解析】

    [卡尔曼滤波介绍与原理解析] 学习参考外文链接:http://www.bzarg.com/p/how-a-kalman-filter-works-in-pictures/. 参考链接:https:// ...

  7. CGLIB介绍与原理

    CGLIB介绍与原理(部分节选自网络) 一.什么是CGLIB? CGLIB是一个功能强大,高性能的代码生成包.它为没有实现接口的类提供代理,为JDK的动态代理提供了很好的补充.通常可以使用Java的动 ...

  8. 【ironic】ironic介绍与原理

    [ironic]ironic介绍与原理 零,配置文件 0.1 配置驱动 文件ironic.conf, ipmi硬件类型,默认值也是ipmi, pxe_ipmitool驱动也是默认值,配置驱动 [DEF ...

  9. CNI 网络分析 4.1 Calico 介绍与原理(一)

    文章目录 Calico 介绍与原理(一) 介绍 安装 Calico-node 初始化 Calico-node 服务 Felix confd allocate-tunnel-addrs monitor- ...

最新文章

  1. softmax 与 logsoftmax 区别 或者说logsoftmax优点
  2. WIN10 + VS2015 + WDK10 + SDK10 + VM虚拟机驱动开发调试环境搭建
  3. linux 内存管理中的 rss 和 vsz
  4. python不同层级模块的导入和文件的读写
  5. Python_summary
  6. 数学--线性代数--奇异值分解(SVD)
  7. 预告 | CSIG图像图形学科前沿讲习班:图神经网络
  8. mysql常见的错误码
  9. 在ASP.NET Core中创建自定义端点可视化图
  10. odoo tree视图过滤数据_数据存储结构 LSM Tree PK B TREE (从底层了解数据库设计)...
  11. Spring缓存注解@CachePut , @CacheEvict,@CacheConfig使用
  12. Java固定资产管理系统源码
  13. 【新书速递】CSO进阶之路首次曝光
  14. IDEA 获取破解码(注册码)简单破解IDEA
  15. 阿里天池--宫颈癌检测(基于fastRCNN)新手初次尝试
  16. Holy Grail【spfa签到题】
  17. 【机器学习】Adaboost
  18. 一次ffmpeg -c copy 在avformat_write_header函数处报错:Could not find tag for codec rawvideo in stream #0的原因分析
  19. IDEA 同时打开两个项目
  20. JavaScript 动态数据处理

热门文章

  1. L2-028 秀恩爱分得快 (25 分) 两种解法,详细分析
  2. syncthing注册为系统服务开机自启动
  3. Codeforces Round 855 (Div. 3) D. Remove Two Letters
  4. JavaScript是一种什么语言?
  5. 国产手机 android 6,国产手机系统哪家强?6大手机系统对比
  6. OneNote把文件存在硬盘的什么位置了?
  7. JAVA通过ip获取所在地址与经纬度
  8. Linux内核日志查看之dmesg命令简介
  9. 华为mate40 上市时间已定
  10. android实现音乐跳动效果