在mysql主从同步时经常会用到Xtra, XtraBackup可以说是一个相对完美的免费开源数据备份工具,支持在线无锁表同步复制和可并行高效率的安全备份恢复机制相比mysqldump来说优势较大好处多,在RHEL6中安装XtraBackup时会发生缺少依赖包的现象
本案例针对Xtra缺少依赖包的情况进行安装分析解决
1.本实验环境
[root@master ~]# uname -r
2.6.32-573.el6.x86_64
[root@master ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.7 (Santiago)
mysql> select version();
+------------+
| version() |
+------------+
| 5.6.28-log |
+------------+
1 row in set (0.00 sec)
2.安装Xtra
进入页面https://www.percona.com/downloads/XtraBackup/LATEST/下载操作系统对应的XtraBackup版本
[root@master ~]# wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.3.4/binary/redhat/6/x86_64/Percona-XtraBackup-2.3.4-re80c779-el6-x86_64-bundle.tar
--2016-05-17 12:42:14-- https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.3.4/binary/redhat/6/x86_64/Percona-XtraBackup-2.3.4-re80c779-el6-x86_64-bundle.tar
Resolving www.percona.com... 74.121.199.234
Connecting to www.percona.com|74.121.199.234|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 27504640 (26M) [application/x-tar]
Saving to: “Percona-XtraBackup-2.3.4-re80c779-el6-x86_64-bundle.tar”
100%[===============================================================================================================>] 27,504,640 2.09M/s in 16s
2016-05-17 12:42:32 (1.62 MB/s) - “Percona-XtraBackup-2.3.4-re80c779-el6-x86_64-bundle.tar” saved [27504640/27504640]
下载完成后进行解压
[root@master ~]# tar xf Percona-XtraBackup-2.3.4-re80c779-el6-x86_64-bundle.tar
[root@master ~]# ll
total 53764
-rw-------. 1 root root 2103 May 13 01:35 anaconda-ks.cfg
-rw-r--r--. 1 root root 30419 May 13 01:35 install.log
-rw-r--r--. 1 root root 7927 May 13 01:32 install.log.syslog
-rw-rw-r-- 1 root root 5701116 Mar 15 01:03 percona-xtrabackup-2.3.4-1.el6.x86_64.rpm
-rw-r--r-- 1 root root 27504640 Mar 17 19:32 Percona-XtraBackup-2.3.4-re80c779-el6-x86_64-bundle.tar
-rw-rw-r-- 1 root root 20820820 Mar 15 01:03 percona-xtrabackup-debuginfo-2.3.4-1.el6.x86_64.rpm
-rw-rw-r-- 1 root root 974656 Mar 15 01:03 percona-xtrabackup-test-2.3.4-1.el6.x86_64.rpm
3.安装排错步骤
3.1 在安装过程中发现缺少依赖包lib和perl,原则上能用yum解决的就优先用yum解决,yum解决不掉的可以用网上的yum源或者自己单独下载rpm包进行安装
[root@master ~]# rpm -ivh percona-xtrabackup-2.3.4-1.el6.x86_64.rpm
warning: percona-xtrabackup-2.3.4-1.el6.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY
error: Failed dependencies:
libev.so.4()(64bit) is needed by percona-xtrabackup-2.3.4-1.el6.x86_64
perl(DBD::mysql) is needed by percona-xtrabackup-2.3.4-1.el6.x86_64
3.2 使用本地yum源安装libev与perl-DBI,但libev.so.4安装失败,是由于本地yum源没有该rpm包,我这里使用网上下载的rpm包进行安装
[root@master ~]# yum install libev.so.4
Loaded plugins: aliases, changelog, kabi, presto, product-id, security, subscription-manager, tmprepo, verify, versionlock
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Loading support for Red Hat kernel ABI
Setting up Install Process
file:///yum/Server/repodata/repomd.xml: [Errno 14] Could not open/read file:///yum/Server/repodata/repomd.xml
Trying other mirror.
No package libev.so.4 available.
Error: Nothing to do
3.3 安装perl-DBD-MySQL 成功完成
[root@master ~]# yum install perl-DBD-MySQL
Loaded plugins: aliases, changelog, kabi, presto, product-id, security, subscription-manager, tmprepo, verify, versionlock
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Loading support for Red Hat kernel ABI
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package perl-DBD-MySQL.x86_64 0:4.013-3.el6 will be installed
--> Processing Dependency: perl(DBI) for package: perl-DBD-MySQL-4.013-3.el6.x86_64
--> Processing Dependency: perl(DBI::Const::GetInfoType) for package: perl-DBD-MySQL-4.013-3.el6.x86_64
--> Running transaction check
---> Package perl-DBI.x86_64 0:1.609-4.el6 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
=========================================================================================================================================================
Package Arch Version Repository Size
=========================================================================================================================================================
Installing:
perl-DBD-MySQL x86_64 4.013-3.el6 rhel-source 134 k
Installing for dependencies:
perl-DBI x86_64 1.609-4.el6 rhel-source 707 k
Transaction Summary
=========================================================================================================================================================
Install 2 Package(s)
Total download size: 841 k
Installed size: 2.0 M
Is this ok [y/N]: y
Downloading Packages:
Setting up and reading Presto delta metadata
Processing delta metadata
Package(s) data still to download: 841 k
---------------------------------------------------------------------------------------------------------------------------------------------------------
Total 3.6 MB/s | 841 kB 00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : perl-DBI-1.609-4.el6.x86_64 1/2
Installing : perl-DBD-MySQL-4.013-3.el6.x86_64 2/2
rhel-source/productid | 1.6 kB 00:00 ...
Verifying : perl-DBD-MySQL-4.013-3.el6.x86_64 1/2
Verifying : perl-DBI-1.609-4.el6.x86_64 2/2
Installed:
perl-DBD-MySQL.x86_64 0:4.013-3.el6
Dependency Installed:
perl-DBI.x86_64 0:1.609-4.el6
Complete!
[root@master ~]# rpm -ivh percona-xtrabackup-2.3.4-1.el6.x86_64.rpm
warning: percona-xtrabackup-2.3.4-1.el6.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY
error: Failed dependencies:
libev.so.4()(64bit) is needed by percona-xtrabackup-2.3.4-1.el6.x86_64
3.4 安装libev包
到http://rpmfind.net/linux/rpm2html/search.php?query=libev.so.4%28%29%2864bit%29&submit=Search+...&system=&arch= 下载操作系统对应的libev包,注意系统号与版本位数
[root@master ~]# wget ftp://rpmfind.net/linux/dag/redhat/el6/en/x86_64/dag/RPMS/libev-4.15-1.el6.rf.x86_64.rpm
--2016-05-17 12:54:43-- ftp://rpmfind.net/linux/dag/redhat/el6/en/x86_64/dag/RPMS/libev-4.15-1.el6.rf.x86_64.rpm
=> “libev-4.15-1.el6.rf.x86_64.rpm”
Resolving rpmfind.net... 195.220.108.108
Connecting to rpmfind.net|195.220.108.108|:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done. ==> PWD ... done.
==> TYPE I ... done. ==> CWD (1) /linux/dag/redhat/el6/en/x86_64/dag/RPMS ... done.
==> SIZE libev-4.15-1.el6.rf.x86_64.rpm ... 74692
==> PASV ... done. ==> RETR libev-4.15-1.el6.rf.x86_64.rpm ... done.
Length: 74692 (73K) (unauthoritative)
100%[===============================================================================================================>] 74,692 187K/s in 0.4s
2016-05-17 12:54:46 (187 KB/s) - “libev-4.15-1.el6.rf.x86_64.rpm” saved [74692]
安装RHEL6对应的libev-4.15-1.el6.rf.x86_64.rpm包
[root@master ~]# rpm -ivh libev-4.15-1.el6.rf.x86_64.rpm
warning: libev-4.15-1.el6.rf.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 6b8d79e6: NOKEY
Preparing... ########################################### [100%]
1:libev ########################################### [100%]
5.完成安装Xtrabackup
再次安装Xtrabackup包,安装完成
[root@master ~]# rpm -ivh percona-xtrabackup-2.3.4-1.el6.x86_64.rpm
warning: percona-xtrabackup-2.3.4-1.el6.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY
Preparing... ########################################### [100%]
1:percona-xtrabackup ########################################### [100%]
[root@master ~]#
6.总结
总体来说,安装Xtra相对简单,注意下载操作系统类型和位数对应正确的rpm包一般不会出错
7. 常用下载地址备注
常用下载地址
libev.so http://rpmfind.net/linux/rpm2html/search.php?query=libev.so.4%28%29%2864bit%29&submit=Search+...&system=&arch=
XtraBackup https://www.percona.com/downloads/XtraBackup/LATEST/
innobackupex --defaults-file=/etc/my.cnf --user=root --password=123 --host=127.0.0.1 --database=tes /home/backup/
innobackupex --defaults-file=/etc/my.cnf --user=root --password=123 --host=127.0.0.1 --incremental-basedir=/home/backup/2017-03-07_14-27-24 --incremental /home/backup/
ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
如果没有--host=127.0.0.1 参数,就会报错
Failed to connect to MySQL server: Can't connect to local MySQL server through
socket '/var/lib/mysql/mysql.sock' (2).