首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用libmysqlclient.so.18安装XtraBackup

问用libmysqlclient.so.18安装XtraBackup
EN

Server Fault用户
提问于 2014-01-25 16:20:47
回答 1查看 2.2K关注 0票数 1

现状

我想在运行我的主数据库的VPS (Centos 5)上安装XtraBackup。在rpm安装过程中,它告诉我它错过了一个名为perl(DBD::mysql)的依赖项。

当我尝试yum install这个依赖项时,它告诉我如下:

Error: Missing Dependency: libmysqlclient.so.15(libmysqlclient_15)(64bit) is needed by package perl-DBD-MySQL-3.0007-2.el5.x86_64 (base) Error: Missing Dependency: libmysqlclient.so.15()(64bit) is needed by package perl-DBD-MySQL-3.0007-2.el5.x86_64 (base)

当我检查/usr/lib/mysql时,有两个不存在的名为libmysqlclient.so.15的符号链接。唯一起作用的符号链接是libmysqlclient.so和libmysqlclient_r.so,它们链接到/usr/lib64/libmysqlclient.so,这是一个指向libmysqlclient.so.18的符号链接。

看来我只安装了18版。

以前的情况

我还在我的另一个VPS (Centos 6)上安装了XtraBackup。同样的错误也发生在那里。最后,它通过下载mysql的共享compat5.1lib(MySQL-Sharedcompat-5.1)修复了它,这个库涵盖了不同版本的lib,我相信12到16。

之后,我可以很好地安装MySQL-shared-compat-5.1和XtraBackup。剩下的唯一问题是PHP使用libmysqlclient.so.18文件,因此httpd服务将不再启动。我用(我想)肮脏的方法修复了它.只需创建一个符号链接libmysqlclient.so.18 -> libmysqlclient.so.16。在那之后,apache毫无问题地加载了。但感觉还是不太对劲。

我对这些东西不太熟悉,所以我希望有人能解释一下,如果可能的话,让Apache和XtraBackup运行他们的libmysqlclient版本是什么是正确的。

EN

回答 1

Server Fault用户

发布于 2014-01-28 03:54:00

MySQL客户端库绑定到构建它们的MySQL版本。Perl的DBD::mysql库是根据构建时可用的MySQL客户机库编译的。当Redhat (扩展为CentOS)构建RPM时,他们从构建时提供的源构建RPM。

CentOS 5's默认的MySQL安装附带MySQL 5.0.95,它提供libmysqlclient.so.15。您的系统似乎安装了较新版本的MySQL。如果您正在使用Percona的XtraBackup,则可能正在运行Percona (Percona是Percona发布的MySQL的更新版本)。

你有几个选择:

  1. 如果Percona是通过RPM安装的: 从Percona的存储库安装Percona共享-compat
  2. 如果通过RPM安装了较新版本的MySQL : 试图找到一个与CentOS 6下类似的兼容性库。
  3. 如果手动安装了较新版本的MySQL : 用libmysqlclient.so.18文件和相关的开发头在系统上重新编译perl源RPM,然后安装产生的二进制文件。CentOS提供从源RPM重新生成的说明。或者,您也可以从源代码下载和安装Percona XtraBackup。

CentOS (和RHEL)期望您安装的所有软件都将使用RPM和yum安装。当您超出此范围时,您将面临无法在链接到自定义安装的软件中使用RPM的风险。这里的情况听起来是这样的,因为您不仅没有一个合适的版本可用,而且还具有与较新版本的MySQL链接的PHP。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/569853

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档