xtrabackup安装及全备,增量备份,及恢复

xtrabackup特性:
        1、支持热备份
        2、支持对InnoDB、MyISAM,xtradb存储引擎的备份
        3、备份过程快速、可靠
        4、备份过程不会打断正在执行的事务
        5、能够基于压缩等功能节约磁盘空间和流量
        6、自动实现备份检验
        7、还原速度快

(一)安装:

官网:https://www.percona.com/doc/percona-xtrabackup/LATEST/installation/yum_repo.html

ubuntu:

wget https://repo.percona.com/apt/percona-release_0.1-4.$(lsb_release -sc)_all.deb

dpkg -i percona-release_0.1-4.$(lsb_release -sc)_all.deb

apt-get update

apt-get install percona-xtrabackup-24

centos:

yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm

yum install percona-xtrabackup-24

(二)备份:

1完全备份

# innobackupex --user=<用户名> --password=<密码> /path/to/backup

使用innobackupex备份时,其会调用xtrbackup备份所有的InnoDB表(*.frm, *.ibd),复制所有关于表结构定义的相关文件、以及MyISAM(*.MYD,*.MYI,*.frm),MERGE, CSV和ARCHIVE表的相关文件,同时还会备份触发器和数据库配置信息相关的文件。这些文件会被保存至一个以时间命名的目录中

在使用innobackupex进行备份时,还可以使用--no-timestamp选项来阻止命令自动创建一个以时间命名的目录;如此一来,innobackupex命令将会创建一个BACKUP-DIR目录来存储备份数据。

2、准备(prepare)一个完全备份

一般情况下,在备份完成后,数据尚且不能用于恢复操作,因为备份的数据中可能会包含尚未提交的事务或已经提交但尚未同步到数据文件中的事务。因此,此时数据文件仍处于不一致状态。准备的主要作用正是通过回滚未提交的事务及同步已经提交的事务到数据文件也使得数据文件处于一致状态。

innobackupex命令的--apply-log选项可用于实现此功能。如下面的命令:

# innobackupex --apply-log <完全备份的目录名称>

准备完成后,最后几行会出现以下几行信息:
xtrabackup: starting shutdown with innodb_fast_shutdown = 1
160303 11:25:31 InnoDB: Starting shutdown...
160303 11:25:36 InnoDB: Shutdown completed; log sequence number 0 1617932
160303 11:25:36 innobackupex: completed OK!

在实现"准备"的过程中,innobackupex通常还可以使用--use-memory选项来指定其可以使用的内存的大小,默认通常为100M。如果有足够的内存可用,可以多划分一些内存给Pprepare的过程,以提高其完成速度。

3、从一个完全备份中恢复数据

innobackupex命令的--copy-back选项用于执行恢复操作,其通过复制所有数据相关的文件到mysql服务器的DATADIR目录中来执行恢复过程。innobackupex通过backup-my.cnf来获取DATADIR目录的相关信息。

# innobackupex --defaults-file=/etc/my.cnf --copy-back <完全备份目录>

注意,在实现恢复时,需要关闭MySQL,并且删除/mydata/data下的所有东西

如果执行成功,其输出信息的最后几行通常如下:
innobackupex: Starting to copy InnoDB log files
innobackupex: in ‘/backup/2016-03-03_11-21-31‘
innobackupex: back to original InnoDB log directory ‘/mydata/data‘
innobackupex: Finished copying back files.

160303 11:38:02 innobackupex: completed OK!

确保如上信息的最后一行出现"innobackupex: completed ok!"

当数据恢复到数据目录后,还需要确保所有数据文件的所属均为正确的用户,如mysql;否则,在启动mysqld前还需要事先修改数据文件的所属

# chown -R mysql.mysql /mydata/data

4、使用innobackupex进行增量备份

要实现第一次增量备份,可以使用下面的命令:

# innobackupex --incremental /backup --incremental-basedir=<完全备份目录>

其中,BASEDIR指的是完全备份所在的目录,此命令执行结束后,innobackupex命令会在/backup目录中创建一个以新的时间命名的目录及存放所有的增量备份数据。另外,在执行过增量备份后再一次进行增量备份时,其--incremental-basedir应该指向上一次增量备份所在的目录

需要注意的是,增量备份仅能应用于InnoDB或xtrDB表,对于MyISAM表而言,执行增量备份其实进行的是完全备份。

准备增量备份与准备完全备份有着一些不同,尤其要注意的是:
1)需要在每个备份(包括完全和增量备份上),将已经提交的事务进行重放。重放后,所有的备份数据将合并到完全备份上
2)基于所有的备份将未提交的事务进行回滚

于是,操作就变成了:
# innobackupex --apply-log --redo-only BASEDIR

接着执行:
# innobackupex --apply-log --redo-only BASEDIR --incremental-dir=INCREMENTAL-DIR-1

而后是第二个增量备份:
# innobackupex --apply-log --redo-only BASEDIR --incremental-dir=INCREMENTAL-DIR-2

恢复时,直接使用第1次的完全备份即可

原文地址:https://www.cnblogs.com/yangxiaochu/p/9212249.html

时间: 2024-10-09 00:52:24

xtrabackup安装及全备,增量备份,及恢复的相关文章

Xtrabackup安装+(全备+增量+二进制日志)备份,你值得拥有。

本文以简单直接给力为目的. 1.配置网络yum源(保证虚拟机联网) rm -rf /etc/yum.repos.d/* wget –P /home/backup/  http://mirrors.163.com/.help/CentOS6-Base-163.repo mv CentOS6-Base-163.repo  /etc/yum.repos.d/CentOS-Base.repo cd /etc/yum.repos.d/ mv CentOS6-Base-163.repo  CentOS6-B

Xtrabackup 增量备份、恢复、原理

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

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单库全备&增量

xtrabackup 介绍: xtrabackup有两个主要的工具:innobackupex和xtrabackup,xtrabackup只能备份InnoDB和XtraDB数据表,innobackupex封装了xtrabackup,可以备份MyISAM数据表. 第一步安装: 1.1.下载xtackbackup 地址:http://www.percona.com/downloads/XtraBackup/ 1.2.安装: tar -zxf percona-xtrabackup-2.0.8-587.t

bitnami redmine安装、配置、备份、恢复(这篇文章靠谱)

bitnami redmine安装.配置.备份.恢复 2012-12-17 12:33 2596人阅读 评论(0) 收藏 举报 1. 安装时语言选择英文,不可以选择中文,否则不能正常运行,可以在账户里改为显示中文: 2. 安装完成后,最上面的标题栏字体太小,修改: D:\BitNami\redmine-2.1.4-0\apps\redmine\htdocs\public\themes\classic\stylesheets\application.css 中  #top-menu { font-

gitlab安装,使用,备份,恢复

gitlab安装,使用,备份,恢复 git是一个版本控制器在分布式版本控制系统里,客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来. 这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复.因为每一次的提取操作,实际上都是一次对代码仓库的完整备份. 1.gitlab介绍 GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务,操作起来特别方便. 2.Gitlab安装与配置 2.1yum安装软件

【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完全备份增量备份以及恢复

一.安装 1.配置Yum源 rpm -Uhv http://www.percona.com/downloads/percona-release/percona-release-0.0-1.x86_64.rpm 2.安装 yum install xtrabackup -y 二.修改Mysql主配置文件 my.cnf(根据编译安装的参数进行设置,RPM安装可省略) [mysqld] datadir=/data/mysqldb basedir=/usr/local/mysql/ 三.开始备份 1.完全

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

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