MySQL的热备percona-xtrabackup、innobackupex的安装方法

http://blog.csdn.net/dbanote/article/details/13295727

http://blog.csdn.net/yangzhawen/article/details/50457922

http://blog.csdn.net/yangzhawen/article/details/28864763

Xtrabackup是由percona开发的一个开源软件,它是innodb热备工具ibbackup(收费的商业软件)的一个开源替代品。Xtrabackup由个部分组成:xtrabackup和innobackupex,其中xtrabackup工具用于备份innodb和 xtraDB引擎的表;而innobackupex工具用于备份myisam和innodb引擎的表,本文将介绍如何用innobackupex工具做全量和增量备份。

官网:http://www.percona.com/docs/wiki/percona-xtrabackup:start

安装

声明:以下操作最好以MySQL用户执行。

首先,通过wget下载源码tar包:

 
  1. wget http://www.percona.com/redir/downloads/XtraBackup/LATEST/source/percona-xtrabackup-2.1.5.tar.gz  

安装依赖包:

 
  1. yum install cmake gcc gcc-c++ libaio libaio-devel automake autoconf bzr bison libtool ncurses-devel zlib-devel  

解压缩tar:

 
  1. tar -zxvf percona-xtrabackup-2.1.5.tar.gz  
  2. cd percona-xtrabackup-2.1.5  

utils/build.sh脚本会根据指定的引擎版本,自动解压缩适当的MySQL源码包并进行编译,这是最简单的安装方式。当你在命令行下不带任何参数执行该脚本时,出现如下提示:

 
  1. [mysql@epay100 ~/software/percona-xtrabackup-2.1.5 ]$ ./utils/build.sh  
  2. Build an xtrabackup binary against the specified InnoDB flavor.  
  3.   
  4. Usage: build.sh CODEBASE  
  5. where CODEBASE can be one of the following values or aliases:  
  6.   innodb51         | plugin                build against InnoDB plugin in MySQL 5.1  
  7.   innodb55         | 5.5                   build against InnoDB in MySQL 5.5  
  8.   innodb56         | 5.6,xtradb56,         build against InnoDB in MySQL 5.6  
  9.                    | mariadb100  
  10.   xtradb51         | xtradb,mariadb51      build against Percona Server with XtraDB 5.1  
  11.                    | mariadb52,mariadb53  
  12.   xtradb55         | galera55,mariadb55    build against Percona Server with XtraDB 5.5  

根据上面提示和你使用的存储引擎及版本,选择相应的参数即可。因为我用的是MySQL 5.6,所以执行如下语句安装:

 
  1. ./utils/build.sh innodb56  

以上语句执行成功后,表示安装完成。最后,把生成的二进制文件拷贝到一个自定义目录下(本例中为/home/mysql/admin/bin/percona-xtrabackup-2.1.5),并把该目录放到环境变量PATH中。

 
      1. cp ./innobackupex /home/mysql/admin/bin/percona-xtrabackup-2.1.5  
      2. cp ./src/xtrabackup_56 ./src/xbstream /home/mysql/admin/bin/percona-xtrabackup-2.1.5   
      3. 这里我是把他直接cp到/usr/bin目录下

我这里的MySQL版本是5.6.23
我这里用的xtrabackup的版本是2.1.9


安装的过程遇到的问题
1:./utils/build.sh: line 173: patch: command not found
解决方法是:yum -y install patch
然后再次执行
./utils/build.sh innodb56

这里我们创建一个普通的用户来进行热备
用户拥有的权限有
SELECT, RELOAD, SHOW DATABASES, LOCK TABLES
权限列表

1.Select  读取

2.SHOW DATABASES 允许访问完整的数据库列表

4. LOCK TABLES 允许锁定表

5.RELOAD 允许载入和刷新服务器缓存

#####

这里我采取另外一种安装方法:

文章摘自http://blog.csdn.net/yangzhawen/article/details/50457922

http://www.cnblogs.com/galengao/p/5755835.html

安装  
*****************************************************************  
  
  
  
----1.编译安装percona-xtrabackup  


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
NOTE:2.2.16 需要python-sphinx openssl两个依赖包. ---2.安装相关插件 yum -y install perl-DBI yum -y install perl-DBD-MySQL yum -y install perl-Time-HiRes yum -y install perl-IO-Socket-SSL wget http://www.percona.com/downloads/percona-toolkit/2.2.16/RPM/percona-toolkit-2.2.16-1.noarch.rpm rpm -ivh percona-toolkit-2.2.16-1.noarch.rpm ---3.安装xtrabackup wget http://www.percona.com/downloads/XtraBackup/XtraBackup-2.2.11/source/tarball/percona-xtrabackup-2.2.11.tar.gz mkdir -p /usr/local/xtrabackup tar xvzf percona-xtrabackup-2.3.3.tar.gz -C /usr/local/xtrabackup/ && cd /usr/local/xtrabackup/percona-xtrabackup-2.3.3 chown -R mysql:mysql /usr/local/xtrabackup cd /usr/local/xtrabackup/percona-xtrabackup-2.3.3 cmake -DBUILD_CONFIG=xtrabackup_release -DWITH_MAN_PAGES=OFF && make -j4 --DINSTALL_LAYOUT=/usr/local/xtrabackup make make install /**************编译安装相关参数 cmake . -LH --查看cmake支持的mysql相关参数 shell> cmake . -L # overview shell> cmake . -LH # overview with help text shell> cmake . -LAH # all params with help text shell> cmake . # interactive display ****************** make ********************make可能遇到的错误 1.重新编译时,需要清除旧的对象文件和缓存信息 Could not import extension sphinx.ext.extlinks (exception: No module named extlinks) make clean rm -f CMakeCache.txt 2.LIBEV_INCLUDE_DIRS CMake Error: The following variables are used in this project, but they are set to NOTFOUND. Please set them or make sure they are set and tested correctly in the CMake files: LIBEV_INCLUDE_DIRS (ADVANCED) used as include directory in directory /usr/local/xtrabackup/percona-xtrabackup-2.3.3/storage/innobase/xtrabackup/src used as include directory in directory /usr/local/xtrabackup/percona-xtrabackup-2.3.3/storage/innobase/xtrabackup/src used as include directory in directory /usr/local/xtrabackup/percona-xtrabackup-2.3.3/storage/innobase/xtrabackup/src used as include directory in directory /usr/local/xtrabackup/percona-xtrabackup-2.3.3/storage/innobase/xtrabackup/src used as include directory in directory /usr/local/xtrabackup/percona-xtrabackup-2.3.3/storage/innobase/xtrabackup/src -- Configuring incomplete, errors occurred! See also "/usr/local/xtrabackup/percona-xtrabackup-2.3.3/CMakeFiles/CMakeOutput.log". See also "/usr/local/xtrabackup/percona-xtrabackup-2.3.3/CMakeFiles/CMakeError.log". http://dist.schmorp.de/libev/ #tar xvzf libev-4.22.tar.gz # ./configure # make # make install # find / -name 'libev.so*' /usr/local/lib/libev.so.4 /usr/local/lib/libev.so.4.0.0 /usr/local/lib/libev.so ******************8 make install /*****重新安装需要 rm -rf /usr/bin/innobackupex rm -rf /usr/bin/xtrabackup ***********/ #vi ~/.bash_profile export PATH=/usr/local/xtrabackup/bin:$PATH #source ~/.bash_profile ----链接命令到/usr/bin目录 ln -sf /usr/local/xtrabackup/bin/innobackupex /usr/bin/ ln -sf /usr/local/xtrabackup/bin/xtrabackup /usr/bin/ ---测试结果 # xtrabackup --version xtrabackup version 2.3.3 based on MySQL server 5.6.24 Linux (x86_64) (revision id: 525ca7d)
原文地址:https://www.cnblogs.com/smail-bao/p/6066160.html