标签(linux): mysql-xtrabackup

笔者Q:972581034 交流群:605799367。有任何疑问可与笔者或加群交流
  • xtrabackup是Percona公司针对mysql数据库开发的一款开源免费的物理备份(热备)工具

  • 可针对InnoDB和XtraDB等事务引擎的数据库实现不锁表方式的备份

  • 可针对MyISAM等非事务引擎的数据库实现不锁表方式的备份


一、xtrabackup的七大特点

1.直接拷贝物理文件,备份和恢复数据的速度非常快、安全可靠

2.在备份期间执行的事务不会间断,备份InnoDB数据不影响业务

3.备份期间不增加太多数据库的性能压力

4.支持对备份的数据自动校验

5.支持全量、增量、压缩备份及流备份

6.技持在线迁移表以及快速创建新的从库

7.支持几乎所有版本的MySQL和MariaDB


二、xtrabackup的备份原理及过程


第一步:
记录当前redo日志位置(即对应的LSN号) 第二步:
在后台启动一个进程持续监视redo日志文件的变化 第三步:
同时将变化的信息记录到xtrabackup_logfile中 第四步:
针对所有的innodb数据文件进行备份(复制) 第五步:
备份完成后执行“flush tables with read lock”,对数据库锁表 第六步:
备份(复制)MyISAM等非事务引擎的数据文件 第七步:
待InnoDB、MyISAM数据文件、redo日志备份完毕后,获取binlog二进制日志位置点信息 第八步:
执行unlock tables解锁命令,回复数据库可读写状态

三、innobackupex增量备份(仅对InnoDB引擎有效)

原理

拷贝备份之后的InnoDB中变更的“页”数据

拷贝时以全备中xtrabackup_checkpoints文件对应的LSN号为依据

将大于给定的LSN号的页数据(即增量数据)进行备份

因要比对全备LSN号,第一次增量是基于全备的,后每次增量基于上次增备


备份时发生了什么

第一步:
在全备的xtrabackup_checkpoints logfile中找到并记录最后一个checkoint(last checkpint LSN) 第二步:
从该LSN的位置拷贝InnoDB的redo日志到xtrabackup_logfile 第三步:
开始备份全部的数据文件:ibd 第四步:
待全部数据拷贝结束后,停止拷贝logfile

四、InnoDB日志

1.Redo日志

		也称事务日志,是Innodb引擎重要组成部分
记录Innodb引擎中每个数据发生的变化信息
用于保证innodb数据的完整性,及丢数据后的恢复
可有效提升数据库的IO性能
配置参数为
innodb_log_file_size
innodb_log_files_in_group

2.Undo日志

		记录事务的逆向逻辑操作或者逆向物理操作对应的数据变化的内容
默认存放在共享表空间里面的(ibdata*文件)
和Redo日志功能不同Undo日志主要用于回滚数据库崩溃前未完整提交的事务数据
确保数据恢复前后一致

3.LSN

		全拼log Sequence Number
意为日志序列号
64位的整型数字
用于记录Redo日志时,使用LSN唯一标识一条变化的数据

4.Checkpoint

		用来标识数据库崩溃后,应恢复的redo log的起始点

五、xtrabackup脑图

注:纯装X用。。

MySQL备份利器-xtrabackup的介绍和原理(附脑图)的更多相关文章

  1. mysql备份工具innobackupex,xtrabackup-2.1的原理和安装

    mysql备份工具innobackupex,xtrabackup-2.1的原理和安装 http://bbs.2cto.com/read.php?tid=310496 一.Xtrabackup介绍 1. ...

  2. MySQL备份恢复之Xtrabackup

    Preface       Today,I'm gonna use the Xtrabackup tool to demonstrate the procedure of backing up MyS ...

  3. MySQL备份恢复工具Xtrabackup

    参考文档https://www.cnblogs.com/youkanyouxiao/p/8335173.html Xtrabackup介绍  Xtrabackup是由percona开源的免费数据库热备 ...

  4. MySQL备份还原——mysqldump工具介绍

    mysqldump是一款MySQL逻辑备份的工具,他将数据库里面的对象(表)导出成SQL脚本文件.有点类似于SQL SEVER的"任务-生成脚本"的逻辑备份功能.mysqldump ...

  5. mysql 备份软件 Xtrabackup 的 xtrabackup_binlog_pos_innodb和xtrabackup_binlog_info 文件区别

    今天在操作 innobackupex 的时候,执行 change master to 的时候发现  xtrabackup_binlog_pos_innodb   xtrabackup_binlog_i ...

  6. Mysql备份工具Xtrabackup

    Xtrabackup是一个开源的免费的热备工具,在Xtrabackup包中主要有Xtrabackup和innobackupex两个工具.其中Xtrabackup只能备份InnoDB和XtraDB两种引 ...

  7. MySQL备份之XtraBackup工具使用

    数据库的完整备份 [root@vhost1 ~]# innobackupex --defaults-file=/mysqldata/3306/my.cnf  --user=root   --passw ...

  8. mydumper linux mysql 备份利器

    1 官网 https://launchpad.net/ 2 安装使用参考网站   http://www.cnblogs.com/digdeep/p/4925560.html

  9. mysql备份工具 :mysqldump mydumper Xtrabackup 原理

    备份是数据安全的最后一道防线,对于任何数据丢失的场景,备份虽然不一定能恢复百分之百的数据(取决于备份周期),但至少能将损失降到最低.衡量备份恢复有两个重要的指标:恢复点目标(RPO)和恢复时间目标(R ...

随机推荐

  1. python 列表(list)常用操作

    a = [1,2,3,4,1,1,1,1] 删除操作 删除元素1 a.remove(1) 删除第二个元素 del a[1] 默认删除最后一个,给脚标就会删除指定脚标元素 pop() 方法 a.pop( ...

  2. Erlang/OTP设计原则(文档翻译)

    http://erlang.org/doc/design_principles/des_princ.html 图和代码皆源自以上链接中Erlang官方文档,翻译时的版本为20.1. 这个设计原则,其实 ...

  3. 强化学习 - Q-learning Sarsa 和 DQN 的理解

    本文用于基本入门理解. 强化学习的基本理论 : R, S, A 这些就不说了. 先设想两个场景:  一. 1个 5x5 的 格子图, 里面有一个目标点,  2个死亡点二. 一个迷宫,   一个出发点, ...

  4. 【Java学习笔记之二十】final关键字在Java继承中的用法小结

    谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法. ...

  5. [bzoj1717][Usaco2006 Dec]Milk Patterns 产奶的模式 (hash构造后缀数组,二分答案)

    以后似乎终于不用去学后缀数组的倍增搞法||DC3等blablaSXBK的方法了= = 定义(来自关于后缀数组的那篇国家集训队论文..) 后缀数组:后缀数组SA是一个一维数组,它保存1..n的某个排列S ...

  6. HDU2988-Dark roads,HDU1233-还是畅通工程-最小生成树

    最小生成树: 中文名 最小生成树 外文名 Minimum Spanning Tree,MST 一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的 ...

  7. poj_2251

    Dungeon Master Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 24311   Accepted: 9425 D ...

  8. jquery的done和then区别

    jquery的deferred对象的done方法和then方法都能实现链式调用,但是他们的作用是有区别的,then方法中如果你传递的方法有返回值,那么他会传递给下一个链式调用的方法.而done方法与此 ...

  9. js时间戳与时间日期间相互转换

    今天在工作中要将获取到的时间转换为时间戳,一时间竟不知道怎么用,于是不得不去查询资料,这里特地做个笔记. 1.将日期转换为时间戳. 要将日期转换为时间戳,首先得先获取到日期,这里可以直接指定日期,或者 ...

  10. HDU 1233 还是畅通工程(模板——克鲁斯卡尔算法)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1233 题意描述: 输入n个城镇以及n*(n-1)/2条道路信息 计算并输出将所有城镇连通或者间接连通 ...