在官网中,复制相关链接下载最新版本(建议使用当前发布版本前6个月左右的稳定版本)

https://www.percona.com/downloads/XtraBackup/LATEST/

1、下载和安装

#下载rpm安装包
wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.3.3/binary/redhat/6/x86_64/percona-xtrabackup-2.3.3-1.el6.x86_64.rpm

1.2 安装依赖

yum install -y perl-DBD-MySQL per-DBI perl-Time-HiRes libaio*

1.3 安装rpm包

rpm -ivh percona-xtrabackup-2.3.-.e16.x86_64.rpm

warning: percona-xtrabackup-2.3.-.e16.x86_64.rpm: Header V4 DSA/SHA1 Signature,key ID cd2efd2a: NOKEY
error: Faild dependencies:
lidev.so4()(64bit) is needed by percona-xtrabackup-2.3.-.e16.x86_64

1.4 安装libv.so()(64bit)

地址:http://rpmfind.net/linux/RPM/index.html 搜索libev.so.4()(64bit),下载

rpm -ivh libev-4.04-.e16.x86_64.rpm

1.5 安装Xtrabackup

rpm -ivh percona-xtrabackup-2.3.-.e16.x86_64.rpm

Preparing...             ########################################### [%]
:percona-xtrabackup ########################################### [%]

安装方法二:

#使用yum安装
安装percona源
rpm -Uhv http://www.percona.com/downloads/percona-release/percona-release-0.0-1.x86_64.rpm
#使用yum安装percona-xtrabackup:
yum -y install percona-xtrabackup

1.6、检查安装结果

rpm -qa |grep xtraback

percona-xtrabackup-2.3.-.e16.x86_64
rpm -ql percona-xtrabackup-2.3.-.e16.x86_64
/usr/bin/innobackupex/usr/bin/xtrabackup
/usr/bin/doc/percona-xtrabackup-2.3.
/usr/bin/doc/percona-xtrabackup-2.3./COPYING
/usr/share/man/man1/innobackupex..gz/usr/share/man/man1/xtrabackup..gz

Xtrabackup常用参数

 --user=USER                     #指定备份用户,不指定的话为当前系统用户
 --password=PASSWD #指定备份用户密码
 --port=PORT #指定数据库端口
 --defaults-group=GROUP-NAME #在多实例的时候使用
 --host=HOST #指定备份的主机,可以为远程数据库服务器
 --apply-log #回滚日志
 --database #指定需要备份的数据库,多个数据库之间以空格分开
 --defaults-file #指定mysql的配置文件
 --copy-back #将备份数据复制回原始位置
 --incremental #增量备份,后面跟要增量备份的路径
 --incremental-basedir=DIRECTORY #增量备份时使用指向上一次的增量备份所在的目录
 --incremental-dir=DIRECTORY #增量备份还原的时候用来合并增量备份到全量,用来指定全备路径
 --redo-only #对增量备份进行合并
 --rsync #加快本地文件传输,适用于non-InnoDB数据库引擎。不与--stream共用
 --safe-slave-backup
 --no-timestamp #生成的备份文件不以时间戳为目录.

2、备份与恢复

2.1、全量备份与恢复

完全备份目录:/data/backup/full

完全备份与增量备份每次命令操作成功的标志是,日志结尾处打印【completed OK!】

 #全量备份:

innobackupex --user=root --password /data/backup/full

说明:
上面的命令在我的/data/backup/full 目录生成了一个文件夹【--20_10--】
一般情况下,这个备份不能用于恢复,因为备份的数据中可能含有尚未提交的事务或者已经提交的事务但尚未同步至数据文件的事务,此时数据文件处于不一致的状态。
因此,我们现在就是要通过回滚未提交的事务及同步已经提交的事务至数据文件也使得数据文件处于一致性状态。
innobackupex --user=root --password --defaults-file=/data/mysql/my.cnf --apply-log /data/backup/full/--20_10--
#--apply-log 参数就是开启恢复过程

2.2、 恢复操作演练

 1)关闭数据库,备份原数据,创建新的数据目录

执行过程:
[root@mysql ]# /data//mysql stop
Stoping MySQL...
[root@mysql ]# mv /data//data/ /data//data_bak
[root@mysql ]# mkdir /data//data

恢复全备必须恢复到空目录里,不然 会报错。

 2)执行innobackupex恢复命令

[root@mysql ]# innobackupex --defaults-file=/data//my.cnf --user=root --password= --copy-back /data/backup/full/--20_10--

 3)对新目录授权,此操作需要在innobackupex恢复命令后

chow -R mysql.mysql /data/mysql/data

 4)重启服务后,并检查数据是否恢复。

[root@mysql ]# /data//mysql start
Starting MySQL
[root@mysql ]# ps -ef|grep

#登录数据查看已经恢复的数据文件。

2.2、增量备份与恢复

环境备份目录说明:

 增量备份目录1:/data/backup/inc1

 增量备份目录2:/data/backup/inc2

1)#全量备份

innobackupex  --defaults-file=/data//my.cnf  --user=root --password= /data/backup/full

2)第一次增量备份

innobackupex  --defaults-file=/data//my.cnf  --user=root --password= --incremental /data/backup/inc1 --incremental-basedir=/data/backup/full/--20_10--

# --incremental-basedir 指的是完全备份所在的目录

# 此命令执行结束后,innobackupex命令会在/data/backup目录中创建一个新的以时间命名的目录以存放所有的增量备份数据。

# 另外,在执行过增量备份之后再一次进行增量备份时,其--incremental-basedir应该指向上一次的增量备份所在的目录。

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

2)第二次增量备份

innobackupex  --defaults-file=/data//my.cnf  --user=root --password= --incremental /data/backup/inc2  --incremental-basedir=/data/backup/inc1/--20_11--

# 如果需要恢复的话需要先执行如下操作

innobackupex --apply-log --redo-only /data/backup/full/--20_10--
innobackupex --apply-log --redo-only /data/backup/full/--20_10-- --incremental-dir=/data/backup/inc1/--20_11--

# 如果存在多次增量备份的话,就多次执行如下命令。此处执行针对的是第二次增量备份

innobackupex --apply-log --redo-only /data/backup/full/--20_10-- --incremental-dir=/data/backup/inc2/--20_11--

# 恢复操作演练,需先停掉服务器并迁移已有的数据目录,详情见全量备份

# 执行恢复命令

innobackupex --defaults-file=/data//my.cnf --user=root --password= --copy-back  /data/backup/full/--20_10--

补充说明:

指定使用 --databases 可以指定库来备份
innobackupex --default-file=/data//my.cnf --user-root --password- --databases="dadong" /data/backup/
#指定表来备份

innobackupex --default-file=/data//my.cnf --user=root --password= --databases="dadong test" /data/backup/
#指定压缩包备份 --
stream
innobackupex --default-file=/data//my.cnf --user=root --password= --stream=tar /backup/full/|gzip >/backup/full/back_$(date +%F).tar.gz

xtrabackup安装部署(二)的更多相关文章

  1. Apache Hadoop集群离线安装部署(二)——Spark-2.1.0 on Yarn安装

    Apache Hadoop集群离线安装部署(一)——Hadoop(HDFS.YARN.MR)安装:http://www.cnblogs.com/pojishou/p/6366542.html Apac ...

  2. zabbix 3.2.5 agent端(源码包)安装部署 (二)

    一.zabbix agent 端安装部署 1.创建zabbix用户和组 groupadd zabbix useradd -g zabbix zabbix -s /sbin/nologin 2.解压za ...

  3. zabbix 3.2.2 agent端(源码包)安装部署 (二)

    一.zabbix agent 端安装部署 1.创建zabbix用户和组 # groupadd zabbix # useradd -g zabbix zabbix -s /sbin/nologin 2. ...

  4. Office Web Apps安装部署(二)

    SharePoint 2013调用Office Web Apps 注意:调用OfficeWebApps的sharepoint应用的身份认证必须是基于声明的身份认证(claims-based authe ...

  5. LNMP下zabbix_server安装部署二

    上一篇中搭建完成了zabbix的web端,但是虚拟机有点问题,所以转到笔记本上来写笔记本环境 server:192.168.112.9 agent:192.168.112.8 ​ 上一篇中完成了web ...

  6. Office Web Apps安装部署(一)

    来源于:http://www.cnblogs.com/poissonnotes/p/3238238.html 系统要求为Windows Server 2012, 注意:安装Office Web App ...

  7. Apache Hadoop集群离线安装部署(三)——Hbase安装

    Apache Hadoop集群离线安装部署(一)——Hadoop(HDFS.YARN.MR)安装:http://www.cnblogs.com/pojishou/p/6366542.html Apac ...

  8. Apache Hadoop集群离线安装部署(一)——Hadoop(HDFS、YARN、MR)安装

    虽然我已经装了个Cloudera的CDH集群(教程详见:http://www.cnblogs.com/pojishou/p/6267616.html),但实在太吃内存了,而且给定的组件版本是不可选的, ...

  9. SCCM 2012 R2安装部署过程和问题(二)

    上篇:SCCM 2012 R2安装部署过程和问题(一) 在上篇我们已经完成了SCCM 2012 R2安装前的准备,其中有许多细节,关于数据库的准备和权限的设置是需要特别注意的.那么接下来我们开始安装S ...

随机推荐

  1. SpringMVC由浅入深day02_10拦截器

    10 拦截器 Spring Web MVC 的处理器拦截器类似于Servlet 开发中的过滤器Filter,用于对处理器进行预处理和后处理. 10.1 拦截定义 定义拦截器,实现HandlerInte ...

  2. SpringMVC由浅入深day01_8springmvc和mybatis整合

    8 springmvc和mybatis整合 为了更好的学习 springmvc和mybatis整合开发的方法,需要将springmvc和mybatis进行整合. 整合目标:控制层采用springmvc ...

  3. Go之继承的实现

    go的继承是使用匿名字段来实现的 package util //----------------Person---------------- type Person struct { Name str ...

  4. MySQL存储过程的异常处理

    阅读目录:存储过程的异常处理 定义异常处理 单一异常处理程序 continue exit 多个异常处理程序 关于错误编号和SQLSTATE码 使用3个处理程序 忽略某一异常的处理 异常处理的命名 异常 ...

  5. 【代码审计】iZhanCMS_v2.1 前台GoodsController.php页面存在SQL注入漏洞分析

      0x00 环境准备 iZhanCMS官网:http://www.izhancms.com 网站源码版本:爱站CMS(zend6.0) V2.1 程序源码下载:http://www.izhancms ...

  6. SpringBoot(十)-- 整合MyBatis

    1.pom.xml 配置maven依赖 <dependency> <groupId>org.mybatis.spring.boot</groupId> <ar ...

  7. Win10 如何安装 Ubuntu

    在 Microsoft Store 中安装 Ubuntu ( 如下图1 ) 把开发者模式打开 ( 如下图2 ) 把 WSL ( Windows下的Linux子系统 ) 打开并重启电脑 ( 如下图3 )

  8. iOS - 系统权限(关键时刻很有用的)

    iOS开发中权限问题: APP开发避免不开系统权限的问题,如何在APP以更加友好的方式向用户展示系统权限,似乎也是开发过程中值得深思的一件事: 那如何提高APP获取iOS系统权限的通过率呢?有以下几种 ...

  9. WebService连接postgresql( 失败尝试)

     一.先进行postgresql的配置 1. 安装ODBC驱动 下载地址:http://www.postgresql.org/ftp/odbc/versions/msi/ 2. 打开 控制面板 -&g ...

  10. 解决Win7启动时出现“windows未能启动。原因可能是最近更改了硬件或软件”的问题

    昨天公司终于大发慈悲,统一更换电脑配置,终于要摆脱“手扶拖拉机”的时代了,赶上“动车时代”了.不过不想换硬盘,因为重新要安装太多东西,环境配置一大堆,所以就硬盘没有换,不过当我开机启动的时候,悲剧发生 ...