循例介绍下,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
然后再运行上面的步骤,就能解决这个问题