返回顶部
首页 > 资讯 > 数据库 >innobackupex在线备份及恢复的方法
  • 592
分享到

innobackupex在线备份及恢复的方法

2024-04-02 19:04:59 592人浏览 八月长安
摘要

本篇内容介绍了“innobackupex在线备份及恢复的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

本篇内容介绍了“innobackupex在线备份及恢复的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

背景介绍:

1、Xtrabackup是什么

Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品。

Xtrabackup有两个主要的工具:xtrabackup、innobackupex

1、xtrabackup只能备份InnoDB和XtraDB两种数据表,而不能备份MyISAM数据表

2、 innobackupex是参考了InnoDBHotbackup的innoback脚本修改而来的.innobackupex是一个perl脚本封装,封装了xtrabackup。主要是为了方便的同时备份InnoDB和MyISAM引擎的表,但在处理myisam时需要加一个读。并且加入了一些使用的选项。如slave-info可以记录备份恢复后,作为slave需要的一些信息,根据这些信息,可以很方便的利用备份来重做slave。

Xtrabackup是由percona开发的一个开源软件,它是innodb热备工具ibbackup(收费的商业软件)的一个开源替代品。Xtrabackup由个部分组成:xtrabackup和innobackupex,其中xtrabackup工具用于备份innodb和 xtraDB引擎的表;而innobackupex工具用于备份myisam和innodb引擎的表,本文将介绍如何用innobackupex工具做全量和增量备份。

全备及其恢复:

全备:

执行如下语句进行全备:

innobackupex --defaults-file=/opt/Mysql/my.cnf  --user=root --passWord=*** /backup/mysql/data

该语句将拷贝数据文件(由my.cnf里的变量datadir指定)至备份目录下(/backup/mysql/data),注意:如果不指定--defaults-file,默认值为/etc/my.cnf。

备份成功后,将在备份目录下创建一个时间戳目录(本例创建的目录为/backup/mysql/data/2013-10-29_09-05-25),在该目录下存放备份文件。

恢复:

恢复之前,要先关闭数据库,并且删除数据文件和日志文件。

innobackupex --defaults-file=/opt/mysql/my.cnf --user=root --password=*** --use-memory=4G --apply-log /backup/mysql/data/2013-10-29_09-05-25

innobackupex --defaults-file=/opt/mysql/my.cnf --user=root --password=***  --copy-back /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),我们需要在该全备的基础上做增量备份。

innobackupex --defaults-file=/opt/mysql/my.cnf  --user=root --password=*** --incremental-basedir=/backup/mysql/data/2013-10-29_09-05-25 --incremental /backup/mysql/data

其中--incremental-basedir指向全备目录,--incremental指向增量备份的目录。

上面语句执行成功之后,会在--incremental执行的目录下创建一个时间戳子目录(本例中为:/backup/mysql/data/2013-10-29_09-52-37),在该目录下存放着增量备份的所有文件。

在备份目录下,有一个文件xtrabackup_checkpoints记录着备份信息,全备的信息如下:

backup_type = full-backuped

from_lsn = 0

to_lsn = 563759005914

last_lsn = 563759005914

基于该全备的增量备份的信息如下:

backup_type = incremental

from_lsn = 563759005914

to_lsn = 574765133284

last_lsn = 574765133284

从上面可以看出,增量备份的from_lsn正好等于全备的to_lsn。

那么,我们是否可以在增量备份的基础上再做增量备份呢?答案是肯定的,只要把--incremental-basedir执行上一次增量备份的目录即可,如下所示:

innobackupex --defaults-file=/opt/mysql/my.cnf  --user=root --password=*** --incremental-basedir=/backup/mysql/data/2013-10-29_09-52-37 --incremental  /backup/mysql/data

它的xtrabackup_checkpoints记录着备份信息如下:

backup_type = incremental

from_lsn = 574765133284

to_lsn = 574770200380

last_lsn = 574770200950

可以看到,该增量备份的from_lsn是从上一次增量备份的to_lsn开始的。

恢复:整个过程分为三步骤,整体上可以理解为:可以理解是先把增量备份的数据倒进全备份中,然后最后使用全备份恢复即可

第一步:是在所有备份目录下重做已提交的日志,注意最后一个增量备份是没有--redo-only的,并且数据最后是在全备份中,,如:

innobackupex --apply-log --redo-only BASE-DIR

innobackupex --apply-log --redo-only BASE-DIR --incremental-dir=INCREMENTAL-DIR-1

innobackupex --apply-log BASE-DIR  --incremental-dir=INCREMENTAL-DIR-2

其中BASE-DIR是指全备目录,INCREMENTAL-DIR-1是指第一次的增量备份,INCREMENTAL-DIR-2是指第二次的增量备份,以此类推。这里要注意的是:最后一步的增量备份并没有--redo-only选项!还有,可以使用--use_memory提高性能。

以上语句执行成功之后,最终数据在BASE-DIR(即全备目录)下。

第二步:回滚未完成的日志:

innobackupex --apply-log BASE-DIR

上面执行完之后,BASE-DIR里的备份文件已完全准备就绪,

最后一步:是拷贝:

innobackupex --copy-back BASE-DIR

同样地,拷贝结束之后,记得检查下数据目录的权限是否正确。

常见错误及解决方法

错误:

131028 17:45:57  innobackupex: Connecting to MySQL Server with DSN 'dbi:mysql:;mysql_read_default_group=xtrabackup' (using password: NO).

innobackupex: Error: Failed to connect to MySQL server as DBD::mysql module is not installed at /home/mysql/admin/bin/percona-xtrabackup-2.1.5/innobackupex line 2913.

解决方法:

yum -y install perl-DBD-MySQL.x86_64

错误:

sh: xtrabackup_55: command not found

innobackupex: Error: no 'mysqld' group in MySQL options at /home/mysql/admin/bin/percona-xtrabackup-2.1.6/innobackupex line 4341.

解决方法:

cp xtrabackup_innodb55  xtrabackup_55

“innobackupex在线备份及恢复的方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

您可能感兴趣的文档:

--结束END--

本文标题: innobackupex在线备份及恢复的方法

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

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

猜你喜欢
  • innobackupex在线备份及恢复的方法
    本篇内容介绍了“innobackupex在线备份及恢复的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!...
    99+
    2024-04-02
  • innobackupex备份和恢复原理
    innobackupex  全备份原理:1.执行一次checkpoint,找到最后那个checkpoint的lsn2.从这个lsn开始记录所有产生的redo log  3.cp &nbs...
    99+
    2024-04-02
  • MySQL innobackupex全量备份恢复
        先简单介绍一下这个工具:innobackupex innobackupex比xtarbackup有更强的功能,它整合了xtrabackup和其他的一些功能,他不但可...
    99+
    2024-04-02
  • innobackupex部分表备份和恢复方法是什么
    本篇内容主要讲解“innobackupex部分表备份和恢复方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“innobackupex部分表备份和恢复方法是...
    99+
    2024-04-02
  • innobackupex的备份和恢复是怎么样的
    这篇文章给大家介绍innobackupex的备份和恢复是怎么样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。原理阶段:备份backup – 预恢复pre...
    99+
    2024-04-02
  • 【备份恢复】物理冷备份及恢复
    冷备:,即关闭数据库备份,要求备份数据库三大文件(数据文件、控制文件、日志文件)及参数文件、口令文件;同时冷备之前要一致性关库,以触发ckpt实现三大文件一致性,以使恢复数据库是不需要recover; ...
    99+
    2024-04-02
  • 使用innobackupex完成数据增量备份及恢复的步骤
    使用innobackupex完成数据增量备份及恢复的步骤1. 规划备份目录及配置及my.cnfmkdir /backup/mysql/fullmkdir /backup/mysql/daily1mkdir ...
    99+
    2024-04-02
  • innobackupex实现MySQL数据库的备份与恢复
        Xtrabackup是由percona开发的一个开源软件,它是innodb热备工具ibbackup(收费的商业软件)的一个开源替代品。Xtrabackup由个...
    99+
    2024-04-02
  • innobackupex怎么增量备份与恢复数据
    本篇内容主要讲解“innobackupex怎么增量备份与恢复数据”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“innobackupex怎么增量备份与恢复数据”吧...
    99+
    2024-04-02
  • 【备份恢复】物理热备及恢复
    物理热备:即数据库处于开启时备份,但前提必须要开启归档,因为只有开归档,数据库恢复时才能应用日志将数据库恢复到最新;物理热备可以备份单个数据文件、表空间及整个数据库;物理热备,分普通表空间(非关键数据文...
    99+
    2024-04-02
  • 如何利用innobackupex备份集恢复指定库
    这篇文章主要介绍如何利用innobackupex备份集恢复指定库,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.源库导出表结构mysqldump -uroot -p --no-da...
    99+
    2024-04-02
  • SqlServer备份和恢复的方法
    本篇内容介绍了“SqlServer备份和恢复的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!SqlSe...
    99+
    2024-04-02
  • Linux备份和恢复的方法
    这篇文章主要介绍“Linux备份和恢复的方法”,在日常操作中,相信很多人在Linux备份和恢复的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux备份和恢复的方法”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-13
  • redis 备份以及恢复
    redis 备份以及恢复1.redis 备份[root@caosm103 redis]# redis-cli  -h 192.168.24.129 -p 6379 # 连接到服务器192.168....
    99+
    2024-04-02
  • Oracle备份恢复中热备份恢复及异机恢复的原理是什么
    Oracle备份恢复中热备份恢复及异机恢复的原理是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Oracle备份恢复之热备份恢复及异机...
    99+
    2024-04-02
  • Oracle 12c的备份与恢复方法
    本篇内容主要讲解“Oracle 12c的备份与恢复方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Oracle 12c的备份与恢复方法”吧!备份:1.备份全部...
    99+
    2024-04-02
  • MySQL Xtrabackup备份和恢复方法
    本篇内容主要讲解“MySQL Xtrabackup备份和恢复方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL Xtrabackup备份和恢复方法”吧...
    99+
    2024-04-02
  • XtraBackup基本安装及innobackupex使用方法,远程备份
    #获得下载地址 wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.3.3/binary/redhat/6/x86_...
    99+
    2024-04-02
  • mysql数据备份及恢复
    这篇文章主要介绍“mysql数据备份及恢复”,在日常操作中,相信很多人在mysql数据备份及恢复问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql数据备份及恢复”的疑惑...
    99+
    2024-04-02
  • MongoDB整库备份与还原以及单个collection备份、恢复方法
    备份前的检查> show dbs MyDB 0.0625GB admin (empty) bruce 0.0625GB local (emp...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作