Percona XtraBackup工作原理

Percona XtraBackup是基于InnoDB的崩溃恢复功能。复制InnoDB数据文件,导致内部不一致的数据; 但随后它对文件执行崩溃恢复,使它们再次成为一致,可用的数据库。

这是因为InnoDB维护一个重做日志,也称为事务日志。这包含对InnoDB数据的每个更改的记录。当InnoDB 启动时,它会检查数据文件和事务日志,并执行两个步骤。它将提交的事务日志条目应用于数据文件,并对修改数据但未提交的任何事务执行撤销操作。

Percona XtraBackup通过记录日志序列号(LSN)开始工作,然后复制掉数据文件。这需要一小会时间来完成,所以如果文件正在改变,那么它们反映了数据库在不同时间点的状态。同时,Percona XtraBackup运行一个后台进程,监视事务日志文件,并从中复制更改。Percona XtraBackup需要不断地这样做,因为事务日志是以循环方式编写的,并且可以在一段时间后重复使用。Percona XtraBackup从数据文件开始执行以来每次更改都需要事务日志记录。

Percona XtraBackup将使用备份锁 ,作为一个轻量级替代。此功能在Percona Server 5.6+中可用。Percona XtraBackup使用这个自动复制非InnoDB数据,以避免阻塞修改InnoDB表的DML查询。当服务器支持备份锁时,xtrabackup将首先复制InnoDB数据,运行并复制MyISAM表和.frm文件。一旦完成,文件的备份将开始。它将备份.frm,.MRG,.MYD,.MYI,.TRG,FLUSH TABLES WITH READ LOCKLOCK TABLES FOR BACKUP.par

注意

锁定只对MyISAM和其他非InnoDB表,只有 在 Percona XtraBackup完成所有InnoDB / XtraDB数据和日志后备份。Percona XtraBackup将使用备份锁 ,作为一个轻量级替代。此功能在Percona Server 5.6+中可用。Percona XtraBackup使用这个自动复制非InnoDB数据,以避免阻塞修改InnoDB表的DML查询。FLUSH TABLES WITH READ LOCK

之后,xtrabackup将使用阻止所有操作,可能更改二进制日志位置或 或 报告。然后xtrabackup将完成复制REDO日志文件和获取二进制日志坐标。在这完成之后xtrabackup将解锁二进制日志和表。LOCK BINLOG FOR BACKUPExec_Master_Log_PosExec_Gtid_SetSHOW MASTER/SLAVE STATUS

最后,二进制日志位置将被打印到STDERR和xtrabackup 将退出返回0如果一切正常。

需要注意的是STDERR的xtrabackup不是写在任何文件中。您必须将其重定向到一个文件,例如,。xtrabackup OPTIONS2> backupout.log

它还将在备份的目录中创建以下文件。

在准备阶段,Percona XtraBackup使用复制的事务日志文件对复制的数据文件执行崩溃恢复。完成此操作后,数据库就可以恢复和使用。

备份的MyISAMInnoDB表最终将彼此一致,因为在准备(恢复)过程之后,InnoDB的数据会前滚到备份完成的点,而不会回滚到该点开始。这个时间点匹配所采取的位置,因此MyISAM数据和准备的 InnoDB数据是同步的。FLUSH TABLES WITHREAD LOCK

简而言之,这些工具允许您通过复制数据文件,复制日志文件以及将日志应用到数据的各种组合来执行流式和增量备份等操作。

我们的公共号

来自乌龟运维 wuguiyunwei.com

转载于:https://www.cnblogs.com/wuguiyunwei/p/7026241.html

xtrabackup备份原理相关推荐

  1. 想了解Xtrabackup备份原理和常见问题分析,看这篇就够了

    摘要:本文来自华为云MySQL研发团队,主要分享了MySQL备份工具Xtrabackup的备份过程.华为云数据库团队对其做的优化改进,以及在使用中可能遇到的问题与解决方法. 本文分享自华为云社区< ...

  2. mysqldump和xtrabackup备份原理实现说明

    MySQL数据库备份分为逻辑备份和物理备份两大类,犹豫到底用那种备份方式的时候先了解下它们的差异: 逻辑备份的特点是:直接生成SQL语句,在恢复的时候执行备份的SQL语句实现数据库数据的重现.物理备份 ...

  3. MySQL · 物理备份 · Percona XtraBackup 备份原理

    前言 Percona XtraBackup(简称PXB)是 Percona 公司开发的一个用于 MySQL 数据库物理热备的备份工具,支持 MySQl(Oracle).Percona Server 和 ...

  4. mysql xtrabackup 保护模式_MySQL Xtrabackup备份原理和实现细节

    备份原理: XtraBackup基于InnoDB的crash-recovery功能.它会复制innodb的data file,由于不锁表,复制出来的数据是不一致的,在恢复的时候使用crash-reco ...

  5. MySQL建表枚举分区SQL,【mysql备份】02、Xtrabackup备份mysql

    一.Xtrabackup概述 1.Xtrabackup简介 Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb ...

  6. xtrabackup备份mysql5.7_【 xtrabackup】CentOS7.x上基于 MySQL 5.7.x的XtraBackup 安装与备份还原...

    MySQL的XtraBackup 备份与恢复 https://shockerli.net/post/xtrabackup-backup-recovery-mysql Percona XtraBacku ...

  7. MySQL之 XtraBackup 备份

    MySQL 系列连载之 XtraBackup 备份原理(1) 导读 在日常的linux运维工作中,大数据量备份与还原,始终是个难点.关于mysql的备份和恢复,比较传统的是用mysqldump工具,今 ...

  8. innobackupex和Xtrabackup备份和恢复MySQL数据

    innobackupex备份和恢复MySQL数据 当MySQL数据量很小时,我们可以使用mysqldump来备份,无论是myisam引擎还是innodb引擎都是没有问题的. 但数据量很大,比如上百GB ...

  9. MySQL之Xtrabackup备份恢复数据库

    一.Xtrabackup介绍 1.Xtrabackup是什么 Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbac ...

  10. Xtrabackup备份

    一,Xtrabackup介绍 MySQL冷备.mysqldump.MySQL热拷贝都无法实现对数据库进行增量备份.在实际生产环境中增量备份是非常实用的,如果数据大于50G或100G,存储空间足够的情况 ...

最新文章

  1. 逻辑模型设计步骤-粒度层次划分
  2. Android隐藏标题栏,全屏显示
  3. 链式栈的实现(头文件及源程序)
  4. Apple Cached Service 导致 iPhone app store无法下载程序
  5. C++ 静态成员变量静态成员函数
  6. JS call()与apply()的用法
  7. 计算机自带的桌面远程,如何远程控制电脑桌面
  8. Git - 教程(廖雪峰)
  9. 计算机病毒教学评课,计算机病毒评课稿.pdf
  10. 编译原理实验,赋值语句的语法分析程序设计
  11. 【整理】详解嵌入式片上资源之SDRAM内存
  12. iCheck组件使用方法总结
  13. nsis制作一个外部exe启动器(exe嵌套exe)
  14. python网络爬虫进入(一)——简单的博客爬行动物
  15. server 服务器文档,aserver 服务器
  16. HTTP Live Streaming直播源代码软件开发(iOS直播)技术分析与实现
  17. Vmware 与主机之间传输文件
  18. 对计算机专业大一新生的忠告
  19. 机器学习入门:第十五章 递归神经网络
  20. 可行性报告(内容格式)

热门文章

  1. php redis 事务应用,redis事务有什么用
  2. 内存分配-堆-栈-静态区
  3. pandas输出到excel_精通Pandas,从零基础到中级运用,看这一篇就够了
  4. 搜狗手机输入法java_手机搜狗输入法制作个性皮肤的方法
  5. micropython ide 8266_老外开发的MicroPython IDE,可用于开发ESP8266
  6. 职称英语职称计算机如何折算为学时,职称英语成绩可折算学时 或成考试新方向...
  7. Markdown 数学公式语法
  8. SLAM--线性化求解估计位姿
  9. 在html中frame标签的作用,HTML框架标签frameset、frame、iframe、noframes
  10. [codeup 1126]看电视