[MySQL] innobackupex在线备份及恢复(全量和增量)
来源:互联网 发布:怎么看淘宝衣服的质量 编辑:程序博客网 时间:2024/05/22 06:23
Xtrabackup是由percona开发的一个开源软件,它是innodb热备工具ibbackup(收费的商业软件)的一个开源替代品。Xtrabackup由个部分组成:xtrabackup和innobackupex,其中xtrabackup工具用于备份innodb和 xtraDB引擎的表;而innobackupex工具用于备份myisam和innodb引擎的表,本文将介绍如何用innobackupex工具做全量和增量备份。
官网:http://www.percona.com/docs/wiki/percona-xtrabackup:start
安装
声明:以下操作最好以MySQL用户执行。
首先,通过wget下载源码tar包:
安装依赖包:解压缩tar:utils/build.sh脚本会根据指定的引擎版本,自动解压缩适当的mysql源码包并进行编译,这是最简单的安装方式。当你在命令行下不带任何参数执行该脚本时,出现如下提示:
全备及其恢复
全备:
执行如下语句进行全备:
该语句将拷贝数据文件(由my.cnf里的变量datadir指定)至备份目录下(/backup/mysql/data),注意:如果不指定--defaults-file,默认值为/etc/my.cnf。
备份成功后,将在备份目录下创建一个时间戳目录(本例创建的目录为/backup/mysql/data/2013-10-29_09-05-25),在该目录下存放备份文件。
恢复:
恢复之前,要先关闭数据库,并且删除数据文件和日志文件。
从什么可以看出,恢复分为两个步骤,第1步是apply-log,为了加快速度,一般建议设置--use-memory,这个步骤完成之后,目录/backup/mysql/data/2013-10-29_09-05-25下的备份文件已经准备就绪。
第2步是copy-back,即把备份文件拷贝至原数据目录下。
恢复完成之后,一定要记得检查数据目录的所有者和权限是否正确。
增量备份及其恢复
注意:innobackupex 增量备份仅针对InnoDB这类支持事务的引擎,对于MyISAM等引擎,则仍然是全备。
增量备份:
增量备份需要基于全备,先假设我们已经有了一个全备(/backup/mysql/data/2013-10-29_09-05-25),我们需要在该全备的基础上做增量备份。
其中--incremental-basedir指向全备目录,--incremental指向增量备份的目录。
上面语句执行成功之后,会在--incremental执行的目录下创建一个时间戳子目录(本例中为:/backup/mysql/data/2013-10-29_09-52-37),在该目录下存放着增量备份的所有文件。
在备份目录下,有一个文件xtrabackup_checkpoints记录着备份信息,全备的信息如下:
基于该全备的增量备份的信息如下:
从上面可以看出,增量备份的from_lsn正好等于全备的to_lsn。
那么,我们是否可以在增量备份的基础上再做增量备份呢?答案是肯定的,只要把--incremental-basedir执行上一次增量备份的目录即可,如下所示:
那么,我们是否可以在增量备份的基础上再做增量备份呢?答案是肯定的,只要把--incremental-basedir执行上一次增量备份的目录即可,如下所示:
它的xtrabackup_checkpoints记录着备份信息如下:
可以看到,该增量备份的from_lsn是从上一次增量备份的to_lsn开始的。
恢复:
增量备份的恢复比全备要复杂很多,第一步是在所有备份目录下重做已提交的日志,如:
其中BASE-DIR是指全备目录,INCREMENTAL-DIR-1是指第一次的增量备份,INCREMENTAL-DIR-2是指第二次的增量备份,以此类推。
这里要注意的是:最后一步的增量备份并没有--redo-only选项!还有,可以使用--use_memory提高性能。
以上语句执行成功之后,最终数据在BASE-DIR(即全备目录)下。
第一步完成之后,我们开始第二步:回滚未完成的日志:
上面执行完之后,BASE-DIR里的备份文件已完全准备就绪,最后一步是拷贝:
同样地,拷贝结束之后,记得检查下数据目录的权限是否正确。
常见错误及解决方法
错误:
解决方法:
错误:
解决方法:本文转自:http://blog.csdn.net/dbanote/article/details/13295727
阅读全文
0 0
- innobackupex在线备份及恢复(全量和增量)
- innobackupex mysql备份及恢复(全量和增量)
- [MySQL] innobackupex在线备份及恢复(全量和增量)
- MySQL innobackupex在线备份及恢复(全量和增量)
- [MySQL] innobackupex在线备份及恢复(全量和增量)
- xtrabackup 备份mysql数据库三: innobackupex 测试一个全量和两个增量的备份恢复测试
- mysql之 Innobackupex(全备+增量)备份恢复
- innobackupex全量备份+增量备份手记
- MySql的全量备份和增量备份及还原
- innobackupex全库增量备份与恢复
- Mysql 增量备份和全量备份
- mysql增量备份和全量备份
- mysql 全量备份和增量备份
- MySQL 数据库备份和恢复探讨(全量mysqldump 和 增量mysqlbinlog)
- MySQL 数据库备份和恢复探讨(全量mysqldump 和 增量mysqlbinlog)
- 使用innobackupex在线备份及恢复mysql数据库
- mysql全量和增量备份脚本
- mysql 备份与恢复(全量与增量)
- Java_final_static
- 键盘录入一个int类型的整数,对其求二进制表现形式
- 使用Gradle构建构建一个Java Web工程及持续集成环境Jenkins配置
- Windows 32位/64位直接快速使用exe安装openssl
- 研究生小论文的投稿技巧(修订稿)
- [MySQL] innobackupex在线备份及恢复(全量和增量)
- 判断E盘目录下是否有后缀名为.jpg的文件,如果有,就输出该文件名称
- 解决maven deploy时报401 ReasonPhrase: Unauthorized 错误
- linux下qt程序打包中文乱码(qtInstallerFrameWork)
- Java开发中的23种设计模式详解----观察者模式(Observer)
- 正则基础之——贪婪与非贪婪模式
- Hadoop Intellij IDEA 建demo
- nginx 配置 读取本地静态文件
- 牛客网算法学习笔记-动态规划(1)