安装 perl-DBD-mysql 时出错

安装 perl-DBD-mysql 时出错

当我想在 CentOS 6.3 系统上安装 perl-DBD-MySQL 时,出现以下错误:

yum install perl-DBD-MySQL.x86_64

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: libmysqlclient.so.16(libmysqlclient_16)(64bit) for package: perl-DBD-MySQL-4.013-3.el6.x86_64
--> Processing Dependency: libmysqlclient.so.16()(64bit) for package: perl-DBD-MySQL-4.013-3.el6.x86_64
--> Finished Dependency Resolution
Error: Package: perl-DBD-MySQL-4.013-3.el6.x86_64 (base)
           Requires: libmysqlclient.so.16()(64bit)
Error: Package: perl-DBD-MySQL-4.013-3.el6.x86_64 (base)
           Requires: libmysqlclient.so.16(libmysqlclient_16)(64bit)
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

使用--skip-broken

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: libmysqlclient.so.16(libmysqlclient_16)(64bit) for package: perl-DBD-MySQL-4.013-3.el6.x86_64
--> Processing Dependency: libmysqlclient.so.16()(64bit) for package: perl-DBD-MySQL-4.013-3.el6.x86_64
--> Finished Dependency Resolution

Packages skipped because of dependency problems:
    perl-DBD-MySQL-4.013-3.el6.x86_64 from base

我应该安装什么包?

答案1

每当您遇到安装的软件包抱怨它“需要”某些东西时,您应该尝试并记住使用此命令来确定哪个 RPM 软件包提供了此文件。在你的情况下,消息:

       Requires: libmysqlclient.so.16()(64bit)

应该是一个提示。当然,它有点弱,但是有了这些信息,您可以运行以下命令来确定包含此.so库文件的包:

$ yum provides "*libmysqlclient.so.16*"

这将为您提供以下信息:

mysql-libs-5.1.69-1.el6_4.x86_64 : The shared libraries required for MySQL clients
Repo        : installed
Matched from:
Other       : libmysqlclient.so.16()(64bit)
Other       : libmysqlclient.so.16(libmysqlclient_16)(64bit)
Filename    : /usr/lib64/mysql/libmysqlclient.so.16.0.0
Filename    : /usr/lib64/mysql/libmysqlclient.so.16

笔记:您可能会获得多次点击,yum 存储库中该软件包的每个版本都有一次点击。

由此您现在知道哪个包提供了文件mysql-libs.所以只需执行以下操作即可安装它:

$ sudo yum install mysql-libs

该软件包看起来是基本安装的一部分,并且可以在 CentOS 6.4 下的更新存储库中找到。

$ repoquery --location mysql-libs
http://mirrors.advancedhosters.com/centos/6.4/updates/x86_64/Packages/mysql-libs-5.1.69-1.el6_4.i686.rpm
http://mirrors.advancedhosters.com/centos/6.4/updates/x86_64/Packages/mysql-libs-5.1.69-1.el6_4.x86_64.rpm

答案2

从您的问题来看,尚不清楚CentOS您使用的是哪个版本,如果是MySQLMariaDB您拥有的数据库包,我将提供我的解决方案,该解决方案适用CentOS 7MariaDB.

我已经安装了MariaDB引擎https://downloads.mariadb.org/mariadb/repositories/#mirror=kisiek&distro=CentOS&distro_release=centos7-amd64--centos7&version=10.1我的依赖性问题已经消失了。

对于任何其他平台,您可能会遇到类似的问题,请尝试从以下位置选择您的操作系统:https://downloads.mariadb.org/mariadb/repositories/#mirror=kisiekMariaDB从官方存储库 安装后不需要任何额外的工作。

但是,这个问题仍然不够详细,无法为您的案例提供正确的答案 - 我的答案可能对您有帮助,也可能没有帮助。

答案3

您可以使用以下命令解决您的问题:

yum install perl-DBD-MySQL --enablerepo=*

相关内容