Xtrabackup的安装与使用

1. XtraBackup 简介

  XtraBackup(PXB) 工具是 Percona 公司用 perl 语言开发的一个用于 MySQL 数据库物理热备的备份工具,支持 MySQl(Oracle)、Percona Server 和 MariaDB,并且全部开源,真可谓是业界良心。阿里的 RDS MySQL 物理备份就是基于这个工具做的。由于是采取物理拷贝的方式来做的备份,所以速度非常快,几十G数据几分钟就搞定了,而它巧妙的利用了mysql 特性做到了在线热备份,不用像以前做物理备份那样必须关闭数据库才行,直接在线就能完成整库或者是部分库的全量备份和增量备份。新版本的xtrabackup改成了cmake安装,和以前有点不一样。

版本说明:2.3.3之后不备份死锁,如果数据库是mysql 5.7之后的必须要装2.4.4才可以用,当然了, 会向下兼容的。

工具集:软件包安装后,有以下可执行文件

bin/
├── innobackupex -> xtrabackup
├── xbcloud
├── xbcloud_osenv
├── xbcrypt
├── xbstream
└── xtrabackup

其中最主要的是 innobackupex 和 xtrabackup,前者是一个 perl 脚本,后者是 C/C++ 编译的二进制。Percona 在2.3 版本用C重写了 innobackupex ,innobackupex 功能全部集成到 xtrabackup 里面,只有一个 binary,另外为了使用上的兼容考虑,innobackupex 作为 xtrabackup 的一个软链接。对于二次开发来说,2.3 摆脱了之前2个进程协作的负担,架构上明显要好于之前版本。(Percona XtraBackup 2.3 发布之后,推荐的备份方法是使用 xtrabackup 脚本。 )

xtrabackup 是用来备份 InnoDB 表的,不能备份非 InnoDB 表,和 mysqld server 没有交互;innobackupex 脚本用来备份非 InnoDB 表,同时会调用 xtrabackup 命令来备份 InnoDB 表,还会和 mysqld server 发送命令进行交互,如加读锁(FTWRL)、获取位点(SHOW SLAVE STATUS)等。简单来说,innobackupex 在 xtrabackup 之上做了一层封装。

一般情况下,我们是希望能备份 MyISAM 表的,虽然我们可能自己不用 MyISAM 表,但是 mysql 库下的系统表是 MyISAM 的,因此备份基本都通过 innobackupex 命令进行;另外一个原因是我们可能需要保存位点信息。

另外几个工具相对小众些,xbcrypt 是加解密备份文件用的;xbstream 类似于tar,是 Percona 自己实现的一种支持并发写的流文件格式;两者在备份和解压时都会用到(如果备份用了加密和并发)。xbcloud 工具的作用是:把全部或部分 xbstream 档案从云上下载或上传到云。

2.XtraBackup 安装

官方下载地址:https://www.percona.com/downloads/XtraBackup/LATEST/

系统及版本选择

(1)CentOS 6

系统:CentOS 6(Percona 官方建议安装在 RHEL/CentOS 6.5 及以上的系统)

版本:percona-xtrabackup-24-2.4.6-2.el6.x86_64

下载地址:https://pan.baidu.com/s/1ONBydCld2FoUfRlshMpBNA

(2)CentOS 7

系统:CentOS 7

版本:percona-xtrabackup-24-2.4.10-1.el7.x86_64.rpm

下载地址:https://pan.baidu.com/s/1yEn6bgloHTw30Edn9BUE4Q

二进制安装/解压缩安装(下载:链接:https://pan.baidu.com/s/1eCtXkkmaxXVN4mDKjglYew 密码:nxww)

编译安装

(3) rpm 安装

这种安装方法比较简单,只需下载相应的rpm安装包安装即可(注意根据提示安装相应的依赖包)。其中需要的 libev.so.4() 安装包:链接: https://pan.baidu.com/s/1PjO7CFwAa7Y1vvSUZk7weg 提取码: 47ja

[root@mysql ~]# cd /home/
[root@mysql home]# mkdir xtarback
[root@mysql home]# cd xtarback/
[root@mysql xtarback]# wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.10/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.10-1.el7.x86_64.rpm
---- ::-- https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.10/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.10-1.el7.x86_64.rpm
正在解析主机 www.percona.com (www.percona.com)... 74.121.199.234
正在连接 www.percona.com (www.percona.com)|74.121.199.234|:... 已连接。
已发出 HTTP 请求,正在等待回应... OK
长度: (7.3M) [application/x-redhat-package-manager]
正在保存至: “percona-xtrabackup-24-2.4.10-1.el7.x86_64.rpm” % [====================> ] ,, .0KB/s 剩余 76s

查看下载完成的包

[root@mysql xtarback]# ls -la
总用量
drwxr-xr-x. root root 2月 : .
drwxr-xr-x. root root 2月 : ..
-rw-r--r--. root root 2月 : percona-xtrabackup-24-2.4.10-1.el7.x86_64.rpm

安装依赖

rpm -ivh libev-4.15-.el6.rf.x86_64.rpm
yum install perl-DBI
yum -y install perl perl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL
yum -y install perl-Digest-MD5

安装

[root@mysql xtrabackup]#rpm -ivh percona-xtrabackup-24-2.4.10-1.el7.x86_64.rpm

查看安装的版本:

[root@mysql xtrabackup]#xtrabackup -version
xtrabackup version 2.4.10 based on MySQL server 5.7.19 Linux (x86_64) (revision id: 3198bce)

3.XtraBackup 备份mysql

(1)设置定时任务

# crontab -e
* * * /home/script/innobackup.sh

(2)备份脚本(事先需要手动做一次全备)

cat /home/script/innobackup.sh
#!/bin/bash
/usr/bin/innobackupex --defaults-file=/etc/my.cnf --user=root --password=12345556 --socket=/tmp/mysql.sock --compress /home/backup/mysql >> /home/backup/mysql/backup.$(date +%F).log >&

4.定时删除过期备份,只保留一周的备份

(1)设置定时任务

#delete mysql backup
* * * /home/script/mysql_clear.sh >/dev/null >&

(2)定时删除脚本

#!/bin/bash
find /home/backup/mysql -mtime + -exec rm -rf {} \;

Xtrabackup的安装与使用的更多相关文章

  1. xtrabackup工具安装

    1.首先从官网上http://www.percona.com/下载较新版本的xtrabackup percona-xtrabackup-2.2.7-5050-Linux-x86_64.tar.gz 2 ...

  2. Xtrabackup的安装

    一.Installing Percona XtraBackup from Percona yum repository 添加源 yum install http://www.percona.com/d ...

  3. CentOS 6.5下Percona Xtrabackup的安装错误解决方案

    1.下载最新版的Xtracbackup 2.安装 yum install perl-DBIyum install perl-DBD-MySQLyum install perl-Time-HiResyu ...

  4. Percona XtraBackup 安装介绍篇

    XtraBackup介绍 XtraBackup是Percona公司的开源项目,用以实现类似Innodb官方的热备份工具InnoDB Hot Backup的功能,它支持在线热备份(备份时不影响数据读写) ...

  5. linux 6 安装 使用 XtraBackup

    帮助文档:https://www.cnblogs.com/imweihao/p/7290026.html ---Yum安装 官网地址:https://www.percona.com/doc/perco ...

  6. XtraBackup2.3.3安装配置使用(innobakupex)

    通过使用percona公司的xtrabackup备份还原数据库,并完成搭建mysql主从数据库. 一.XtraBackup下载安装部分. 1.安装依赖软件. [root@localhost ~]# y ...

  7. MariaDB之基于Percona Xtrabackup备份大数据库[完整备份与增量备份]

    MariaDB之基于Percona Xtrabackup备份大数据库[完整备份与增量备份] 1.Xtrabackup的安装 percona-xtrabackup-2.2.3-4982.el6.x86_ ...

  8. XtraBackup原理5

    http://www.cnblogs.com/gomysql/p/3650645.html xtrabackup是Percona公司CTO Vadim参与开发的一款基于InnoDB的在线热备工具,具有 ...

  9. xtrabackup原理1

    http://www.cnblogs.com/Amaranthus/archive/2014/08/19/3922570.html Percona XtraBackup User Manual 阅读笔 ...

随机推荐

  1. 9foundation

    注意点 1NSDate时间,时间字符串, 时间戳,格式器,四者的的关系 <1NSDate拥有属性时间戳 <2format格式器,可以直接把NSDate读取为时间字符串,把时间字符串读取为N ...

  2. 『计算机视觉』mini深度学习框架实现

    一.项目简介 手动实现mini深度学习框架,主要精力不放在运算优化上,仅体会原理. 地址见:miniDeepFrame 相关博客 『TensorFlow』卷积层.池化层详解 『科学计算』全连接层.均方 ...

  3. 如何从零开始在github上新建项目

    准备工作: (1)安装git: Git-2.16.1-64-bit.exe (2)新建一个文件夹grpc007,作为本地git仓库 (3)进入到grpc007目录,右键/打开git bash.使用gi ...

  4. pandas实现excel中的数据透视表和Vlookup函数功能

    在孩子王实习中做的一个小工作,方便整理数据. 目前这几行代码是实现了一个数据透视表和匹配的功能,但是将做好的结果写入了不同的excel中, 如何实现将结果连续保存到同一个Excel的同一个工作表中?还 ...

  5. C# 用 WebClient 的 Post 方法向 WebServer 传输数据

    帮朋友做一个通过Web简单传输数据的例子,百度了一下抄了段代码,完成,效果如下: 其中textBox1里面是客户端需要传输过去的数据,textBox2里面是接收到的返回数据. 代码如下: using ...

  6. Homework 2.0

    一.第一题,要求是输入不同的字符的时候输出不同的结果,这道题主要是运用输入和输出语言还有判断语句,分别使用switch和if else来进行输入字符的判断,本体比较简单,注意定义输入变量的类型为cha ...

  7. linux——系统内核参数优化

    vim /etc/sysctl.conf net.ipv4.tcp_syncookies = 1 fs.file-max = 999999 net.ipv4.tcp_max_tw_buckets = ...

  8. Hide Data into bitmap with ARGB8888 format

    将保存重要信息,如银行卡密码的文本文件隐藏到ARGB8888的A通道. bitmap.h #ifndef BMP_H #define BMP_H #include <fstream> #i ...

  9. VC++、MFC Sqlite3数据库的使用

    SQLite数据库是一种本地的轻型数据库,在存储一些本地的数据的时候,或者不需要用到Oracle,SQL2008之类的大型数据库的时候,Sqlite的优势就能够得到发挥.程序需要采集数据存储起来,可以 ...

  10. ceph集群性能测试结果

    对ceph存储集群(8台万兆服务器)从以下几个方面进行测试的结果 1.读写稳定性 无故障下的ceph集群性能完全满足业务对磁盘性能的需求. 测试数据结果如下表1-1,1-2 2.业务稳定性 ceph集 ...