返回顶部
首页 > 资讯 > 数据库 >MySQL Xtrabackup备份原理和实现细节
  • 811
分享到

MySQL Xtrabackup备份原理和实现细节

2024-04-02 19:04:59 811人浏览 安东尼
摘要

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

备份原理:
XtraBackup基于InnoDB的crash-recovery功能。它会复制innodb的data file,由于不表,复制出来的数据是不一致的,在恢复的时候使用crash-recovery,使得数据恢复一致。 
InnoDB维护了一个redo log,又称为transaction log,事务日志,它包含了innodb数据的所有改动情况。当InnoDB启动的时候,它会先去检查data file和transaction log,并且会做二步操作: 
XtraBackup在备份的时候, 一页一页地复制innodb的数据,而且不锁定表,与此同时,XtraBackup还有另外一个线程监视着transactions log,一旦log发生变化,就把变化过的log pages复制走。
为什么要急着复制走呢? 因为transactions log文件大小有限,写满之后,就会从头再开始写,所以新数据可能会覆盖到旧的数据。 
在prepare过程中,XtraBackup使用复制到的transactions log对备份出来的innodb data file进行crash recovery。 

官方原理:
在InnoDB内部会维护一个redo日志文件,我们也可以叫做事务日志文件。事务日志会存储每一个InnoDB表数据的记录修改。当InnoDB启动时,InnoDB会检查数据文件和事务日志,
并执行两个步骤:它应用(前滚)已经提交的事务日志到数据文件,并将修改过但没有提交的数据进行回滚操作。
xtrabackup在启动时会记住log sequence number(LSN),并且复制所有的数据文件。复制过程需要一些时间,所以这期间如果数据文件有改动,那么将会使数据库处于一个不同
的时间点。这时,xtrabackup会运行一个后台进程,用于监视事务日志,并从事务日志复制最新的修改。
xtrabackup必须持续的做这个操作,是因为事务日志是会轮转重复的写入,并且事务日志可以被重用。所以xtrabackup自启动开始,就不停的将事务日志中每个数据文件的修改都记录下来。
上面就是xtrabackup的备份过程。接下来是准备(prepare)过程。在这个过程中,xtrabackup使用之前复制的事务日志,对各个数据文件执行灾难恢复(就像Mysql刚启动时要做的一样)。
当这个过程结束后,数据库就可以做恢复还原了。

以上的过程在xtrabackup的编译二进制程序中实现。程序innobackupex可以允许我们备份MyISAM表和frm文件从而增加了便捷和功能。Innobackupex会启动xtrabackup,直到xtrabackup复制
数据文件后,然后执行FLUSH TABLES WITH READ LOCK来阻止新的写入进来并把MyISAM表数据刷到硬盘上,之后复制MyISAM数据文件,最后释放锁。

备份MyISAM和InnoDB表最终会处于一致,在准备(prepare)过程结束后,InnoDB表数据已经前滚到整个备份结束的点,而不是回滚到xtrabackup刚开始时的点。这个时间点与执行FLUSH TABLES WITH READ LOCK
的时间点相同,所以MyISAM表数据与InnoDB表数据是同步的。类似oracle的,InnoDB的prepare过程可以称为recover(恢复),
MyISAM的数据复制过程可以称为restore(还原)。

xtrabackup和innobackupex这两个工具都提供了许多前文没有提到的功能特点。手册上有对各个功能都有详细的介绍。简单介绍下,这些工具提供了如流(streaming)备份,增量(incremental)备份等,
通过复制数据文件,复制日志文件和提交日志到数据文件(前滚)实现了各种复合备份方式。

您可能感兴趣的文档:

--结束END--

本文标题: MySQL Xtrabackup备份原理和实现细节

本文链接: https://lsjlt.com/news/48771.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MySQL Xtrabackup备份原理和实现细节
    备份原理: XtraBackup基于InnoDB的crash-recovery功能。它会复制innodb的data file,由于不锁表,复制出来的数据是不一致的,在恢复的时候使用crash-recover...
    99+
    2024-04-02
  • MySQL xtrabackup 物理备份原理解析
    目录一、简介二、xtrabackup备份原理:三、xtrabackup备份流程四、xtrabackup常用命令选项:五、xtrabackup备份实践六、xtrabackup备份日志分析七、xtrabackup备份的gen...
    99+
    2022-12-21
    MySQLxtrabackup物理备份原理 MySQLxtrabackup 备份原理
  • Percona xtrabackup备份细节是怎样的
    今天就跟大家聊聊有关Percona xtrabackup备份细节是怎样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 ...
    99+
    2024-04-02
  • 安装Xtrabackup实现备份MySQL详细步骤
    下文我给大家简单讲讲关于安装Xtrabackup实现备份MySQL详细步骤,大家之前了解过相关类似主题内容吗?感兴趣的话就一起来看看这篇文章吧,相信看完安装Xtrabackup实现备份MySQL详细步骤对大...
    99+
    2024-04-02
  • 如何使用xtrabackup备份和还原mysql
    这篇文章给大家介绍如何使用xtrabackup备份和还原mysql,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1、安装percona-xtrabackup# 下载安装包:# ...
    99+
    2024-04-02
  • 使用xtrabackup工具实现mysql的多实例备份和还原
    下面讲讲关于使用xtrabackup工具实现mysql的多实例备份和还原,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完使用xtrabackup工具实现mysql的多实例备份和还...
    99+
    2024-04-02
  • xtrabackup介绍及备份原理
    1. Xtrabackup介绍xtrabackup就percona公司基于innodb公司的ibbackup(收费)实现的一个开源软件,完全覆盖了ibbackup的功能,而且完全免费,可谓是业界良心。xtr...
    99+
    2024-04-02
  • xtrabackup 实现MySQL数据库备份
    mysqldump备份方式是采用逻辑备份,其最大的缺陷就是备份和恢复速度都慢,对于一个小于50G的 数据库而言,这个速度还是能接受的,但如果数据库非常大,那再使用mysqldump备份就不太适合了。 这时就 需要一种好用又高效的工具,xtr...
    99+
    2018-06-08
    xtrabackup 实现MySQL数据库备份 数据库入门 数据库基础教程 数据库 mysql
  • mysql-物理备份-Percona xtrabackup
    xtrabackup是percona公司开发的一个用于mysql物理热备的备份工具。 软件安装后一共有4个可执行文件:      innobackupex:pe...
    99+
    2024-04-02
  • Xtrabackup 增量备份、恢复、原理
    整合了网上的一些资料,结合自己的理解,并进行了实验验证理解一:1,Xtrabackup是什么Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具I...
    99+
    2024-04-02
  • mysql xtrabackup 备份恢复实现分享
    Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备的工具简介 Xtrabackup是由per...
    99+
    2024-04-02
  • MySQL之xtrabackup备份恢复的实现
    目录1、安装xtrabackup2、备份2.1、做一次全备2.2、进入mysql添加数据2.3、做一次增备2.4、删除数据库(千万不要在生产库执行!!!)3、恢复3.1、准备阶段3.2、模仿数据库丢失,停掉服务3.3、恢...
    99+
    2023-02-03
    MySQLxtrabackup备份恢复 MySQL备份恢复
  • XtraBackup 备份还原 MySQL 5.6 数据库
    下载XtraBackup:# wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.6/binary/tarbal...
    99+
    2024-04-02
  • MySQL系列连载之XtraBackup 备份原理解析
    目录mysql 系列连载之 XtraBackup 备份原理(1)导读Xtrabackup简介原理1、MySQL主从同步原理2、XtraBackup备份原理3、备份的两个过程4、XtraBackup的优点5、Xtrabac...
    99+
    2024-04-02
  • MySQL系列连载之XtraBackup 备份原理解析
    目录MySQL 系列连载之 XtraBackup 备份原理(1)导读Xtrabackup简介原理1、MySQL主从同步原理2、XtraBackup备份原理3、备份的两个过程4、Xtr...
    99+
    2022-11-13
    mysql  XtraBackup 备份 mysql  XtraBackup mysql备份
  • XtraBackup备份原理和优缺点是怎样的
    本篇文章给大家分享的是有关XtraBackup备份原理和优缺点是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。 ...
    99+
    2024-04-02
  • Xtrabackup备份恢复原理是什么
    这篇文章给大家介绍Xtrabackup备份恢复原理是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 一、Xtrabackup备份恢复原理 &n...
    99+
    2024-04-02
  • XtraBackup MySql 数据备份和恢复
    wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.12/binary/redhat/6/x86_64/percona-xtrabackup-24...
    99+
    2017-01-22
    XtraBackup MySql 数据备份和恢复
  • MySQL Xtrabackup备份和恢复方法
    本篇内容主要讲解“MySQL Xtrabackup备份和恢复方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL Xtrabackup备份和恢复方法”吧...
    99+
    2024-04-02
  • xtrabackup进行MySQL数据库备份/还原
    http://hongge.blog.51cto.com/使用xtrabackup进行MySQL数据库备份前面介绍mysqldump备份方式是采用逻辑备份,其最大的缺陷就是备份和恢复速度都慢,对于一个小于5...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作