1.下载地址址:
http://www.percona.com/downloads/XtraBackup/LATEST/source/
2.下载后,解压至安装目录
#cd /usr/local/install/
#tar zxvf percona-xtrabackup-2.1.6.tar.gz
3.安装依赖包(使用root用户或者需要root权限)
#yum install cmake gcc gcc-c++ libaio libaio-devel automake autoconf bzr bison libtool ncurses-devel zlib-devel
4.安装xtrabackup5.5版本
#cd /usr/local/install/percona-xtrabackup-2.1.6
#AUTO_DOWNLOAD="yes" ./utils/build.sh xtradb55
注:由于mysql版本众多,build.sh必须跟Value值对应的值,不然xtrabackup无法识别你当前服务器的版本信息,可供选择的版本信息如下:
5.安装过程中遇到的问题:
(1)/bin/sh: libgcrypt-config: command not found
ds_encrypt.c:25:20: 错误:gcrypt.h:没有那个文件或目录
ds_encrypt.c:28: 警告:数据定义时没有类型或存储类
.............
在安装时,编译的过程中,报上面的错误,根据错误信息,查找libgcrypt-config(默认路径为/usr/local/bin目录),结果没有找到
#which libgcrypt-config
/usr/bin/which: no libgcrypt-config in (/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/coolpad/mysql/bin:/home/mysql/bin)
于是重新使用yum方法安装libgcrypt-config,安装方法如下
#yum install libgcrypt-devel.x86_64或者
#yum install libgcypt-devel
只要有一个成功,上两2个选项2选1
(2)安装时报如下错误:
-- Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)
CMake Error at cmake/readline.cmake:85 (MESSAGE):
Curses library not found. Please install appropriate package,
remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.
Call Stack (most recent call first):
cmake/readline.cmake:128 (FIND_CURSES)
cmake/readline.cmake:202 (MYSQL_USE_BUNDLED_EDITLINE)
CMakeLists.txt:401 (MYSQL_CHECK_EDITLINE)
解决方法:
yum install -y ncurses-devel
上面的所有依赖包安装完成后安装完成后,重新执行如下安装,顺利完成。
AUTO_DOWNLOAD="yes" ./utils/build.sh innodb56
6.拷贝文件可执行文件至/usr/bin目录下。
#cd /usr/local/install/percona-xtrabackup-2.1.6/src
#cp xtrabackup_56 /usr/bin/
7.测试
执行备份:
#sh xtrabackup189.sh full
报如下错误1:
140212 13:49:01 innobackupex: Connecting to MySQL server with DSN 'dbi:mysql:;mysql_read_default_file=/home/mysql/xtrabackup/conf/my_8.cnf;mysql_read_default_group=xtrabackup' as 'admin' (using password: YES).
innobackupex: Error: Failed to connect to MySQL server as DBD::mysql module is not installed at /usr/bin/innobackupex line 2976.
或者出现如下错误:
Can't locate Time/HiRes.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /usr/bin/innobackupex line 23.
原因:perl模块相关的包没有安装
解决方法:
yum -y install perl-DBI
yum -y install perl-DBD-MySQL
yum -y install perl-Time-HiRes
yum -y install perl-IO-Socket-SSL
错误2:
sh: xtrabackup_56: command not found
innobackupex: Error: no 'mysqld' group in MySQL options at /usr/bin/innobackupex line 4377.
原因:在/usr/bin目录下找不到xtrabackup_56
解决方法:把xtrabackup_56拷贝到/usr/bin目录下,xtrabackup_56的位置:/usr/coolpad/install/percona-xtrabackup-2.1.6/src下
错误3:
nnobackupex: Connecting to MySQL server with DSN 'dbi:mysql:;mysql_read_default_file=/db/mysql5.6/my.cnf;mysql_read_default_group=xtrabackup' as 'bkpuser' (using password: YES).
innobackupex: Error: Failed to connect to MySQL server as DBD::mysql module is not installed at /usr/bin/innobackupex line 2960.
原因:
没有安装perl_DBD-MYSQL依赖包
解决方法:
yum -y install perl-DBD-MySQL