innobackupex备份和恢复原理

备份原理:

1.找到redolog中最后一个checkpoint的lsn,从这个lsn开始记录所有新的redolog

2.cpinnodb数据

3.flush tables with read lock (加全局锁)

4.复制所有myisam表和所有表的表结构文件

5.锁定binlog文件

6.记录当前的binlogfile和pos

恢复原理:

innobackupex --apply-log --redo-only

innobackupex恢复和mysql系统崩溃的原理一样,通过比对页的lsn和日志中的lsn大小来完成的.

mysql崩溃后的数据恢复流程。

通过查找日志最后一次checkpoint的位置取出这个lsn之后的所有日志,然后比对lsn值与页面的lsn的大小,

如果页面的lsn小于当前的lsn就恢复该页面

innobackupex --apply-log --redo-only

innobackupex恢复:

在应用日志阶段(apply-log),会比对数据页面和日志中lsn值,如果lsn日志的值比数据页面的lsn大,

就应用该条日志。

redo-only:只前滚已提交的事务,忽略未提交的事务日志。

记得又一次做数据恢复的时候 ,使用innobackupex , 在最后一次备份合并的过程中使用redo-only参数,

导致mysql无法启动(有的时候可以启动)。

具体原因分析如下:

这时page的lsn大于redo日志中最大的lsn,也就是page的lsn在redo中找不到的lsn,所以他会提示日志丢失,或者日志文件被

损坏,实际上日志文件没有被损坏,。mysql需要这部分日志来回滚事务,但是这部分日志存在于xtracback_logfile中,

,xtracback_logfile mysql无法识别获取不到日志。

innobackupex的使用方法:

http://dwchaoyue.blog.51cto.com/2826417/1429918

时间: 2024-10-20 18:21:33

innobackupex备份和恢复原理的相关文章

Xtrabackup 增量备份、恢复、原理

整合了网上的一些资料,结合自己的理解,并进行了实验验证 理解一: 1,Xtrabackup是什么 Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品. Xtrabackup有两个主要的工具:xtrabackup.innobackupex (1).xtrabackup只能备份InnoDB和XtraDB两种数据表,而不能备份MyISAM数据表 (2). innobackupex是参考了In

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

mysql备份工具innobackupex,xtrabackup-2.1的原理和安装 http://bbs.2cto.com/read.php?tid=310496 一.Xtrabackup介绍 1.1:Xtrabackup是什么Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品. Xtrabackup有两个主要的工具:xtrabackup.innobackupex1.xtraback

xtrabackup之Innobackupex增量备份及恢复

演示增量备份 #启动一个全备 innobackupex > --defaults-file=/mysql/mysqldata/3306/my.cnf > --host=127.0.0.1 > --user=xtrabk > --password='onlybackup' /mysql/mysqldata/backup/ ............ 160527 05:47:55 innobackupex: completed OK! [[email protected] mysqld

Xtrabackup之innobackupex备份恢复详解(转)

原文:http://ourlinux.blog.51cto.com/274624/844854 安装配置Xtrabackup先看看如何安装Xtrabackup,最简单的安装方式是使用RPM包,不过想使用源代码方式安装的话,其安装方式有点古怪,因为它采用的在MySQL源代码上打补丁构建的方式安装的.这里使用二进制包的安装方式,相对比较灵活.Shell> mkdir /usr/local/xtrabackupShell> tar -zxvf xtrabackup-1.6.tar.gz –C /us

记一次innobackupex备份恢复数据库过程

简介:以前备份都是通过mysqldump备份数据库的,由于是逻辑备份,所以采用这种备份方式数据是很安全的,跨平台.版本都很容易.凡事有利必有弊,逻辑备份在你数据库比较大时,备份.恢复数据所耗费的时间也是蛮长的,所以要不断改进,可以使用物理备份.Xtrabackup是由percona开发的一个开源软件,它是innodb热备工具ibbackup(收费的商业软件)的一个开源替代品.Xtrabackup由个部分组成:xtrabackup和innobackupex,其中xtrabackup工具用于备份in

MySQL优化之——备份和恢复

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46766919 备份 逻辑备份方法 使用MYSQLDUMP命令备份 MYSQLDUMP是MYSQL提供的一个非常有用的数据库备份工具.mysqldump命令执行时将数据库备份成一个文本文件,该文件中实际上包含了多个CREATE 和INSERT语句,使用这些语句可以重新创建表和插入数据 MYSQLDUMP的语法和选项 mysqldump -u user -p pwd -h host

mysql之使用xtrabackup进行物理备份、恢复、在线克隆从库、在线重做主从

注:图片来自<深入浅出MySQL 数据库开发 优化与管理维护 第2版> 物理备份和恢复 1.冷备份:停掉mysql再备份,一般很少用,因为很多应用不允许长时间停机,停机备份的可以直接CP数据库的数据目录,在进行恢复前,停掉mysql,然后把数据目录覆盖掉,再重启mysql. 2.热备份 Myisam存储引擎 可以使用mysqlhotcopy工具,如果此工具无法使用时,可以手工使用:flush tables with read lock;手动加读锁,然后复制mysiam表的文件做热备. inno

【mysql】使用xtrabackup在线增量备份及恢复l数据库

一.介绍 1.Xtrabackup有这么几个文件 innobackupex innobackupex 是xtrabackup的一个符号链接 . innobackupex still supports all features and syntax as 2.2 version did, but is now deprecated and will be removed in next major release. xtrabackup 一个由C编译而来的二进制文件,可以整备MySQL datab

xtrabackup 全备份,增量备份,恢复 mysql数据库

Xtrabackup使用指南 InnoDB数据备份工具 Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写,也就是不加锁),是商业备份工具InnoDB Hotbackup的一个很好的替代品 一.Xtrabackup介绍  A.Xtrabackup是什么 Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品. Xtrabackup有两个主要的工具