软件介绍:
Percona XtraBackup是一块开源且免费的对MySQL Innodb存储引擎备份数据的工具,使用此工具的时候不需停止MySQL,而且支持压缩备份,支持对Innodb存储引擎做增量备份,对MYISAM存储引擎做完全备份,并且支持流备份。
使用innobakupex备份时,其会调用xtrabackup备份所有的InnoDB表,复制所有关于表结构定义的相关文件(.frm)、以及MyISAM、MERGE、CSV和ARCHIVE表的相关文件,同时还会备份触发器和数据库配置信息相关的文件。这些文件会被保存至一个以时间命令的目录中。
在备份的同时,innobackupex还会在备份目录中创建如下文件:
(1)xtrabackup_checkpoints —— 备份类型(如完全或增量)、备份状态(如是否已经为prepared状态)和LSN(日志序列号)范围信息;
每个InnoDB页(通常为16k大小)都会包含一个日志序列号,即LSN。LSN是整个数据库系统的系统版本号,每个页面相关的LSN能够表明此页面最近是如何发生改变的。
(2)xtrabackup_binlog_info —— mysql服务器当前正在使用的二进制日志文件及至备份这一刻为止二进制日志事件的位置。
(3)xtrabackup_binlog_pos_innodb —— 二进制日志文件及用于InnoDB或XtraDB表的二进制日志文件的当前position。
(4)xtrabackup_binary —— 备份中用到的xtrabackup的可执行文件;
(5)backup-my.cnf —— 备份配置文件

软件安装:
yum install http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm

yum install xtrabackup

使用说明 :
备份分为全量和增量备份,每一次增量备份在全量备份之后,多个增量恢复必须要恢复之前的增量备份数据

软件使用:
mkdir -pv /root/xtarbackup-mysql/backup/

{fullbackup,incremental}

#fullbackup 存放全备份数据
#incremental 存放增量备份数据

2. 全量备份
innobackupex --user=root --password=123456 /root/xtarbackup-mysql/backup/fullbackup/

#最后出现“150415 16:30:23 innobackupex: completed OK!”

[root@iZ25wfe9trfZ backup]# cat fullbackup/2015-05-14_16-29-01/xtrabackup_checkpoints
backup_type = full-backuped
from_lsn = 0
to_lsn = 1622420443 ######注意这个值
last_lsn = 1622420443
compact = 0

3.第一次增量:
[root@iZ25wfe9trfZ backup]# innobackupex
--user=root --password=123456 --incremental
/root/xtarbackup-mysql/backup/incremental/
--incremental-basedir=/root/xtarbackup-mysql/backup/fullbackup/2015-05-14_16-29-01/
出现150514 16:31:20 innobackupex: completed OK! 操作成功
说明:
--incremental /root/xtarbackup-mysql/backup/incremental/ ###增量目录
--incremental-basedir=/root/xtarbackup-mysql/backup/fullbackup/2015-05-14_16-29-01/ ###全备的文件夹

[root@iZ25wfe9trfZ backup]# cat incremental/2015-05-14_16-31-09/xtrabackup_checkpoints
backup_type = incremental
from_lsn = 1622420443 #####这个值是全备值
to_lsn = 1622629087 ##将会出现在下一次增备文件里面
last_lsn = 1622660091
compact = 0

4.第二次增量
[root@iZ25wfe9trfZ backup]# innobackupex
--user=root --password=123456 --incremental
/root/xtarbackup-mysql/backup/incremental/
--incremental-basedir=/root/xtarbackup-mysql/backup/incremental/2015-05-14_16-31-09/
说明:--incremental-basedir=/root/xtarbackup-mysql/backup/incremental/2015-05-14_16-31-09/ ##第一次增备的值
[root@iZ25wfe9trfZ backup]# cat incremental/2015-05-14_16-35-53/xtrabackup_checkpoints
backup_type = incremental
from_lsn = 1622629087 ###第一次增备的to_lsn值
to_lsn = 1623192968
last_lsn = 1623200974
compact = 0

数据恢复:
xtrabackup一般拿来做机器的热备,防止线上数据丢失所以在另外一台不使用的机器上。恢复的时候mysql的var要清空数据或者mv,
然后chown -R mysql:mysql var权限
恢复数据原理是将所有的增量备份数据跟全备集合。按照你的恢复点操作,如果你要恢复第一次增量数据 那么需要恢复全备和增倍
恢复第三个增倍那么需要恢复全备增倍1增备2
比如从增量2恢复:

全备恢复:
innobackupex --apply-log --redo-only /root/xtarbackup-mysql/backup/fullbackup/2015-05-14_16-29-01/
增备1恢复:
innobackupex --apply-log --redo-only
/root/xtarbackup-mysql/backup/fullbackup/2015-05-14_16-29-01/
--incremental-dir=/root/xtarbackup-mysql/backup/incremental/2015-05-14_16-31-09
增备2恢复:
innobackupex --apply-log --redo-only
/root/xtarbackup-mysql/backup/fullbackup/2015-05-14_16-29-01/
--incremental-dir=/root/xtarbackup-mysql/backup/incremental//2015-05-14_16-35-53

最后一步恢复操作:
innobackupex --copy-back /root/xtarbackup-mysql/backup/fullbackup/2015-05-14_16-29-01/

最新文章

  1. Don't repeat yourself
  2. css3动画的两种方式transition和@keyframs
  3. Neo4j 两种索引Legacy Index与Schema Index区别
  4. 使用NuGet Package Project快速制作NuGet包
  5. short-path problem (Floyd) 分类: ACM TYPE 2014-09-01 23:58 100人阅读 评论(0) 收藏
  6. SQL中存储过程和自定义函数的区别
  7. android短信发送器源代码
  8. 1 Java学习之 基本数据类型
  9. Js 获取当前月的天数
  10. thinkphp 中英文网站详解
  11. 201521123075 《Java程序设计》第6周学习总结
  12. BZOJ.3227.[SDOI2008]红黑树tree(树形DP 思路)
  13. 10.16 正式开发stark组件(一)
  14. vue-12-渲染函数 & JSX
  15. mongodb 在 Ubuntu系统上的安装及卸载
  16. 44 道 JavaScript 难题(JavaScript Puzzlers!)
  17. 我应该记录一下我不太了解的一些c语言函数
  18. Consul KV
  19. 009-JDK可视化监控工具-JConsole
  20. props的异步加载问题

热门文章

  1. CUDA:Supercomputing for the Masses (用于大量数据的超级计算)-第四节
  2. 线段树和zkw线段树
  3. AIDE
  4. FTP、SFTP与FTPS
  5. Node.js 中流操作实践
  6. Vue2.0--14.小白入门教程--实例化多个vue对象,可初始化操作几种方法
  7. Python入门必学:递归函数正确的操作使用方法,案例详解
  8. python学习笔记(四):生成器、内置函数、json
  9. [NOIP2015]运输计划(树上差分+LCA+二分)
  10. springMVC中接收数组参数