循例介绍下,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.gzcd percona-xtrabackup-2.3.4=======================================================#但是到这里要先等等,安装前先看看有没有这个文件ls -l CMakeCache.txt#如果有,就删除,因为编译过程可能因为这个文件报错,不一定存在(取决于是否编译过),#但是删掉一定可以通过,所以看实际情况.rm -rf CMakeCache.txt=======================================================#现在可以开始安装了cmake -DBUILD_CONFIG=xtrabackup_release -DWITH_MAN_PAGES=OFFmakemake 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 /opttar xf percona-xtrabackup-2.4.4-Linux-x86_64.tar.gz#直接把解压出来的目录移动到去/usr/locallldrwxr-xr-x 5 root root 60 7月 21 23:36 percona-xtrabackup-2.4.4-Linux-x86_64mv percona-xtrabackup-2.4.4-Linux-x86_64 /usr/local/#名字太难看,创个软连接cd /usr/local/ln -sf percona-xtrabackup-2.4.4-Linux-x86_64 xtrabackuplldrwxr-xr-x 5 root root 60 7月 21 23:36 percona-xtrabackup-2.4.4-Linux-x86_64lrwxrwxrwx 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 --versionxtrabackup 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
然后再运行上面的步骤,就能解决这个问题