mysql物理热备工具xtrabackup安装过程

来源:互联网 发布:js 检测string 编辑:程序博客网 时间:2024/04/29 17:42

mysql物理热备工具xtrabackup安装过程

在安装xtrabackup中遇到的问题蛮多的,这里只简单介绍一下我的安装过程,不介绍xtrabackup使用方式,希望对有需要的朋友有所帮助。 :
- 什么是xtrabackup
数据库的备份分为逻辑备份和物理备份。不太准确的简单来说逻辑备份就是只把数据库中的数据做备份,物理备份则是可以把数据库中数据以物理块的形式备份出来。从数据库状态来分析,备份又可以分为热备(运行状态备份)和冷备(停服务状态备份)。
xtrabackup就是一款开源的可以进行mysql数据库热备的的工具。
- 源代码安装,从开始到放弃
其实之前我个人一直是喜欢源代码安装软件的。除了yum一些简单的包以外,像mysql,php,apache等等,我都是用源代码安装的。源代码安装的好处就是不需要考虑平台问题,直接下载然后自己编译,基本上软件的一些配置逻辑都在掌控之中。
但是吧,这次遇到了很多问题,主要是因为xtrabackup的安装方式跟别人不太一样:
1.首先是缺少包的依赖,主要是这几个libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL,后来通过yum解决;
2.解压percona-xtrabackup-2.4.3.tar.gz之后,没有configure选项。后来通过在BUILD文件夹中执行autorun.sh解决;
3.configure没有prefix选项。。。不能指定路径,这对于一个喜欢用源代码安装的人简直是噩梦。先不管,继续;
4.网上很多人说需要到xtrabackup根目录下的utils中执行build.sh,但是我的xtrabackup中没有utils文件夹。。。;
5.继续查一些资料,用cmake安装:cmake -DBUILD_CONFIG=xtrabackup_release,安装过程中提示缺少boost。查询下载boost_1_59_0.tar.gz,解压到一个文件夹,另外还需要下载libev-4.22.tar.gz,解压然后configure make make install将这个软件包安装好;
6.最后开始编译,cmake -DBUILD_CONFIG=xtrabackup_release -DWITH_BOOST=/opt/package/toolspackage/percona-xtrabackup-2.4.3/download/ 通过了,很高兴。然后安装make && make DESTDIR=/usr/local/SDE/xtrabackup install。但是进行到45%的时候怎么也进行不下去了,等了20分钟还是45%,不知道是不是之前哪一步出现了问题;
7.放弃了。。。
- 学习用rpm安装
既然源代码安装不行,那就试试rpm:
1.首先到官网下载安装软件:percona-xtrabackup-2.2.12-1.el6.x86_64.rpm;
2.直接进行rpm -vih percona-xtrabackup-2.2.12-1.el6.x86_64.rpm 安装,安装成功。但是出现了一个问题,安装成功后的文件直接散落到系统中。这对于一个有安装洁癖的人是不能容忍的。于是卸载;
3.网上查询是否rpm可以指定安装到指定目录。发现参数–prefix或者–relocate是可以达到上述目的的。尝试
[root@localhost toolspackage]# rpm -vih –prefix=/opt/tools/xtrabackup/ percona-xtrabackup-2.2.12-1.el6.x86_64.rpm
warning: percona-xtrabackup-2.2.12-1.el6.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY
error: package percona-xtrabackup is not relocatable
[root@localhost toolspackage]# rpm -vih –relocate=/=/opt/tools/xtrabackup/ percona-xtrabackup-2.2.12-1.el6.x86_64.rpm
warning: percona-xtrabackup-2.2.12-1.el6.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY
Preparing… ########################################### [100%]
path / in package percona-xtrabackup-2.2.12-1.el6.x86_64 is not relocatable
[root@localhost toolspackage]#
percona-xtrabackup-2.2.12-1.el6.x86_64.rpm 不能直接支持这两个参数,继续查;
4.rpm –help,终于找到了一个参数–badreloc 这个参数解释如下:relocate files in non-relocatable package
再次尝试
[root@localhost toolspackage]# rpm -vih –relocate=/=/opt/tools/xtrabackup/ –badreloc percona-xtrabackup-2.2.12-1.el6.x86_64.rpm
warning: percona-xtrabackup-2.2.12-1.el6.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY
Preparing… ########################################### [100%]
1:percona-xtrabackup ########################################### [100%]
[root@localhost toolspackage]#
终于成功了,查看安装目录:
[root@localhost bin]# ll
total 18616
-rwxr-xr-x 1 root root 187094 Jul 28 2015 innobackupex
-rwxr-xr-x 1 root root 3205240 Jul 28 2015 xbcrypt
-rwxr-xr-x 1 root root 3212184 Jul 28 2015 xbstream
-rwxr-xr-x 1 root root 12451816 Jul 28 2015 xtrabackup
[root@localhost bin]# pwd
/opt/tools/xtrabackup/usr/bin
[root@localhost bin]#
所有工具集中到一起了,终于达到了最初的目的。
- 最后说两句
因为个人水平有限,对于很多关于Linux和软件编译安装的内容是不懂的,只能把自己遇到的问题以及解决方案列出来。可能有很多不符合客观事实或者只是个例的情况,希望大家多多批评指正。
毕竟技术需要共同交流才能进步嘛!

1 0