返回顶部
首页 > 资讯 > 数据库 >逻辑备份mysqldump和物理备份xtrabackup的流程
  • 281
分享到

逻辑备份mysqldump和物理备份xtrabackup的流程

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

Mysqldump备份原理 备份的基本流程如下: FLUSH TABLES 功能:关闭实例上所有打开表 目的:为第二步prepare,为了避免较长的事务操作造成FLUSH TABLES WITH REA

Mysqldump备份原理

备份的基本流程如下:

  1. FLUSH TABLES

    功能:关闭实例上所有打开表
    目的:为第二步prepare,为了避免较长的事务操作造成FLUSH TABLES WITH READ LOCK操作迟迟得不到,但同时又阻塞了其它客户端操作
  2. FLUSH TABLES WITH READ LOCK

    功能:加全局读锁
    目的:获得DB一致性状态
  3. SET SESSioN TRANSACTION ISOLATION LEVEL REPEATABLE READ

    功能:设置当前会话的事务隔离等级为RR,RR可避免不可重复读和幻读
    目的:确保在备份事务中任何时刻数据都相同
  4. START TRANSACTION WITH CONSISTENT SNAPSHOT

    功能:获取当前数据库的快照,这个是由mysqldump中--single-transaction决定的
    目的: 简而言之,就是开启事务并对所有表执行了一次SELECT操作,这样可保证备份时,在任意时间点执行select * from table得到的数据和执行START TRANSACTION WITH CONSISTENT SNAPSHOT时的数据一致
  5. obtain Log position

    功能:获取binlog的相关信息,这个是由--master-data决定的
    目的:记录了开始备份时,binlog的状态信息,包括MASTER_LOG_FILE和MASTER_LOG_POS
  6. 备份非innodb表数据(.frm,.myi,.myd等)
     
  7. unlock tables(非innodb表备份完毕)
     
  8. 备份innodb表数据
     
  9. 备份完成
     

xtrabackup备份原理

innobackupex的本质:innobackupex 脚本用来备份非 InnoDB 表,同时会调用 xtrabackup 命令来备份 InnoDB 表

逻辑备份mysqldump和物理备份xtrabackup的流程

备份的基本流程如下:

  1. innobackupex 在启动后,会先 fork 一个进程,启动 xtrabackup进程,然后就等待 xtrabackup 备份完 ibd 数据文件
     
  2. xtrabackup 在备份 InnoDB 相关数据时,是有2种线程的,1种是 redo 拷贝线程,负责拷贝 redo 文件,1种是 ibd 拷贝线程,负责拷贝 ibd 文件;redo 拷贝线程只有一个,在 ibd 拷贝线程之前启动,在 ibd 线程结束后结束。xtrabackup 进程开始执行后,先启动 redo 拷贝线程,从最新的 checkpoint 点开始顺序拷贝 redo 日志;然后再启动 ibd 数据拷贝线程,在 xtrabackup 拷贝 ibd 过程中,innobackupex 进程一直处于等待状态(等待文件被创建)
     
  3. xtrabackup 拷贝完成idb后,通知 innobackupex(通过创建文件),同时自己进入等待(redo 线程仍然继续拷贝)
     
  4. innobackupex 收到 xtrabackup 通知后,执行FLUSH TABLES WITH READ LOCK (FTWRL),取得一致性位点,然后开始备份非 InnoDB 文件(包括 frm、MYD、MYI、CSV、opt、par等)。拷贝非 InnoDB 文件过程中,因为数据库处于全局只读状态,如果在业务的主库备份的话,要特别小心,非 InnoDB 表(主要是MyISAM)比较多的话整库只读时间就会比较长,这个影响一定要评估到
     
  5. 当 innobackupex 拷贝完所有非 InnoDB 表文件后,通知 xtrabackup(通过删文件) ,同时自己进入等待(等待另一个文件被创建)
     
  6. xtrabackup 收到 innobackupex 备份完非 InnoDB 通知后,就停止 redo 拷贝线程,然后通知 innobackupex redo log 拷贝完成(通过创建文件)
     
  7. innobackupex 收到 redo 备份完成通知后,就开始解锁,执行 UNLOCK TABLES
     
  8. 最后 innobackupex 和 xtrabackup 进程各自完成收尾工作,如资源的释放、写备份元数据信息等,innobackupex 等待 xtrabackup 子进程结束后退出
     
您可能感兴趣的文档:

--结束END--

本文标题: 逻辑备份mysqldump和物理备份xtrabackup的流程

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

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

猜你喜欢
  • 逻辑备份mysqldump和物理备份xtrabackup的流程
    mysqldump备份原理 备份的基本流程如下: FLUSH TABLES 功能:关闭实例上所有打开表 目的:为第二步prepare,为了避免较长的事务操作造成FLUSH TABLES WITH REA...
    99+
    2024-04-02
  • mysql逻辑备份 mysqldump
    MySQL逻辑备份mysqldump 是我们平时用的比较多的备份方式,那么myqldump的备份原理是什么?是如何保证备份数据一致性的呢?为了观察mysql在逻辑备份mysqldump 的时候,究竟做了哪些...
    99+
    2024-04-02
  • mysql的物理备份与逻辑备份是怎样的
    这期内容当中小编将会给大家带来有关mysql的物理备份与逻辑备份是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1.物理备份(1)物理备份概念  &nbs...
    99+
    2024-04-02
  • Oracle中的逻辑备份和物理备份有什么区别
    逻辑备份和物理备份是Oracle数据库中常用的两种备份方式,它们有以下区别: 逻辑备份是通过SQL命令或工具将数据库中的数据和对...
    99+
    2024-04-09
    Oracle
  • 测试MySQL逻辑物理备份教程
    下文主要给大家带来测试MySQL逻辑物理备份教程,希望这些内容能够带给大家实际用处,这也是我编辑测试MySQL逻辑物理备份教程这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。MySQL逻辑物理备份测...
    99+
    2024-04-02
  • MySQL数据库的逻辑和物理备份
    本篇内容介绍了“MySQL数据库的逻辑和物理备份”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!逻辑备份&n...
    99+
    2024-04-02
  • 简记MySQL的逻辑备份(mydumper+mysqldump)
    虽说MySQL的逻辑备份经常会由于锁表等缺陷遭到诟病, 实际上在停机窗口时间内, 如果数据量不是太高的话, 做逻辑备份还是挺简单的~ 准备工作: 1. 目标库(从这个库备份数据)先要有足够权限的账号(临时...
    99+
    2024-04-02
  • mysqldump+binlog的备份与恢复和xtrabackup备份工具
    数据备份类型按业务划分:可分为完全备份,增量备份,差异备份。完全备份:就是对整个数据库的数据和数据结构进行备份,好处是很直观,容易被人理解。不足之处:由于每天都对系统进行完全备份,因此在备份数据中大量是重复...
    99+
    2024-04-02
  • mysql-物理备份-Percona xtrabackup
    xtrabackup是percona公司开发的一个用于mysql物理热备的备份工具。 软件安装后一共有4个可执行文件:      innobackupex:pe...
    99+
    2024-04-02
  • Mysql逻辑备份恢复-mysqldump使用
    备份单个数据库:mysqldump -u 用户名 -p 数据库名 >filename.sql     --no-data(-d)  只备份表结构     -t         只备份表数据    --databases  指定主机上要...
    99+
    2014-05-10
    Mysql逻辑备份恢复-mysqldump使用
  • MySQL xtrabackup 物理备份原理解析
    目录一、简介二、xtrabackup备份原理:三、xtrabackup备份流程四、xtrabackup常用命令选项:五、xtrabackup备份实践六、xtrabackup备份日志分析七、xtrabackup备份的gen...
    99+
    2022-12-21
    MySQLxtrabackup物理备份原理 MySQLxtrabackup 备份原理
  • xtrabackup 远程流备份脚本
    1、xbstream 流,本地文件夹可以自己创建,异地文件夹必须存在 innobackupex --host=127.0.0.1  --post=3306 --stream=xbstream  --comp...
    99+
    2024-04-02
  • MySQL数据库逻辑备份工具mysqldump介绍
    下文给大家带来有关MySQL数据库逻辑备份工具mysqldump介绍内容,相信大家一定看过类似的文章。我们给大家带来的有何不同呢?一起来看看正文部分吧,相信看完MySQL数据库逻辑备份工具mysqldump...
    99+
    2024-04-02
  • mysql物理备份利器xtrabackup怎么用
    今天就跟大家聊聊有关mysql物理备份利器xtrabackup怎么用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。安装cd /opt/tar -zx...
    99+
    2024-04-02
  • MySQL使用Xtrabackup备份流程详解
    01 背景     Xtrabackup是Percona公司开发的一款开源的MySQL热备份工具,之前的工作中也是经常使用,但是也仅仅是停留在使用的阶段,对于这个工具的细节,并没有做过...
    99+
    2022-05-27
    MySQL使用Xtrabackup MySQL 备份 Xtrabackup 备份
  • mysql物理备份工具Xtrabackup安装配置
    mysql物理备份工具Xtrabackup安装配置1    Xtrabackup工具介绍Xtrabackup是一个对InnoDB做物理数据备份的工具,支持在线热备份(...
    99+
    2024-04-02
  • Mysqldump备份的基本流程是怎样的
    本篇内容介绍了“Mysqldump备份的基本流程是怎样的”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • MySQL5.7.11 mysqlpump 多线程逻辑备份工具
    2016.03.14          为了体验5.7.11版本带来的新体验,俺也是迫不及待的想测试一下,新的特性和新功能。这几天心里一直想着的就是5.7....
    99+
    2024-04-02
  • Percona XtraBackup 2.4 xtrabackup全量、增量备份恢复流程
    xtrabackup常用参数 --backup 创建备份并将备份存放到--target-dir目录 --defaults-file=[MY.CNF] 配置文件的路径 --target-dir=DIRE...
    99+
    2024-04-02
  • Oracle主备架构下的逻辑备份考虑
    今天想到一个问题,如果有一个环境是一主一备架构,根据业务需要做逻辑备份,该怎么规划和考虑。数据库版本为10g,11g 这个问题如果在考虑性能的前提下,我觉得是蛮有意思的一个问题。 ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作