循例介绍下,xtrabackup工具是percona公司用perl语言开发的在线物理热备份工具,由于是采取物理拷贝的方式来做的备份,所以速度非常快,几十G数据也才几分钟就搞定了,而他巧妙的利用了mysql特性做到了在线热备份,不用像以前做物理备份那样关闭数据库才行,直接在线就能完成整库或者是部分库的全量备份和增量备份.

新版本的xtrabackup改成了cmake安装,和以前有点不一样

版本说明:现在安装的版本是2.3.4,而2.3.3之后不备份死锁了,如果数据库是mysql5.7之后的必须要装2.4.4才可以用,当然了,会向下兼容的.

安装完主要是使用innobackupex命令,在我另一篇文章有说明怎么去用它,装完可以去看看.


编译安装方式:

    安装环境是centos6.8,也是已经安装了mysql的,这个大家注意自己实际情况.

#安装依赖包前,先装个epel库,很实用,别嫌麻烦
rpm -Uvh http://mirrors.kernel.org/fedora-epel/6/i386/epel-release-6-8.noarch.rpm
#然后安装依赖包:
yum -y install cmake gcc gcc-c++ libaio libaio-devel automake autoconf bzr bison libtool  zlib-devel libgcrypt-devel  libcurl-devel  crypt*  libgcrypt*  python-sphinx openssl   imake libxml2-devel expat-devel   ncurses5-devel ncurses-devle   vim-common  libgpg-error-devel   libidn-devel perl-DBI perl-DBD-MySQL perl-Time-HiRes perl-IO-Socket-SSL
#然后有个包要专门编译安装的
wget "http://dist.schmorp.de/libev/libev-4.23.tar.gz"
==============================================
#这个下载比较麻烦,可以到这下载
http://down.51cto.com/data/2260629
============================================== 
#是很常态的安装方式
tar xvzf libev-4.23.tar.gz   
./configure    
make     
make install
#再然后就可以开始进入主题了
wget "https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.3.4/source/tarball/percona-xtrabackup-2.3.4.tar.gz"
#安装方式是cmake的,
tar xf percona-xtrabackup-2.3.4.tar.gz
cd percona-xtrabackup-2.3.4
=======================================================
#但是到这里要先等等,安装前先看看有没有这个文件
ls -l CMakeCache.txt
#如果有,就删除,因为编译过程可能因为这个文件报错,不一定存在(取决于是否编译过),
#但是删掉一定可以通过,所以看实际情况.
rm -rf CMakeCache.txt
=======================================================
#现在可以开始安装了
cmake -DBUILD_CONFIG=xtrabackup_release -DWITH_MAN_PAGES=OFF
make
make install

经过漫长等待(真的很长),终于装完,稍等,想要用还要最完最后这一部

cp -ar /usr/local/xtrabackup/bin/innobackupex /usr/bin/
cp -ar /usr/local/xtrabackup/bin/xtrabackup /usr/bin/

好了,看看我们的劳动成果

xtrabackup --version 
xtrabackup version 2.3.4 based on MySQL server 5.6.24 Linux (x86_64) (revision id: e80c779)


二进制包安装方式:

    说的比较笼统,大家可以直接理解为压缩包的安装方式,不用安装依赖包,非常方便,我也更建议用这种方式来安装,功能其实没差.

#首先当然是下载了,我直接下载最新的2.4.4的二进制包了,也可以支持5.7了
wget "https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.4/binary/tarball/percona-xtrabackup-2.4.4-Linux-x86_64.tar.gz"
=================================
#觉得下载慢,那就去百度云下载吧
http://pan.baidu.com/s/1o8vtPR8
=================================
#进入下载的目录,然后解压
cd /opt
tar xf  percona-xtrabackup-2.4.4-Linux-x86_64.tar.gz
#直接把解压出来的目录移动到去/usr/local
ll
drwxr-xr-x   5 root root   60 7月  21 23:36 percona-xtrabackup-2.4.4-Linux-x86_64
mv percona-xtrabackup-2.4.4-Linux-x86_64 /usr/local/
#名字太难看,创个软连接
cd /usr/local/
ln -sf percona-xtrabackup-2.4.4-Linux-x86_64 xtrabackup
ll
drwxr-xr-x   5 root root   60 7月  21 23:36 percona-xtrabackup-2.4.4-Linux-x86_64
lrwxrwxrwx   1 root root   38 11月 19 11:52 xtrabackup -> percona-xtrabackup-2.4.4-Linux-x86_64/
#把命令也创个软连接
ln -sf /usr/local/xtrabackup/bin/* /usr/bin/
#看看效果
xtrabackup --version
xtrabackup version 2.4.4 based on MySQL server 5.7.13 Linux (x86_64) (revision id: df58cf2)

基本上就是一个解压和创建软连接的过程,非常简单

然后这就可以用了,至于怎么用就看我另一篇文章吧,软件的版本和支持的mysql版本有关,和命令无关,也就是说命令是基本通用的.


特殊情况说明:

    在Ubuntu 16.04的环境下,会报缺失libgcrypt11错误,因为Ubuntu 16.04默认安装libgcrypt20,不提供libgcrypt11,那这个时候我们就要自己去额外安装了.

#下载地址:
wget http://launchpadlibrarian.net/279485070/libgcrypt11_1.5.3-2ubuntu4.4_amd64.deb
#然后安装:
dpkg -i libgcrypt11_1.5.3-2ubuntu4.4_amd64.deb

然后再运行上面的步骤,就能解决这个问题