在 CentOS 6 上安装 MySQl 5.5 依赖项冲突

在 CentOS 6 上安装 MySQl 5.5 依赖项冲突

我昨天在 centos 6 上安装了 mysql,但我不知道它正在安装 mysql 5.1,这是一个过时的版本。现在我已经删除了旧版本及其所有依赖项,但当我尝试安装 MySQL 5.5 时,yum 说有问题,因为 mysql-libs 与新版本冲突。

[root@Pooya /]# yum --enablerepo=remi install mysql mysql-server
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.kiewel-online.ch
 * epel: kartolo.sby.datautama.net.id
 * extras: ftp.linux.org.tr
 * ius: download.srv.ro
 * remi: remi-mirror.dedipower.com
 * rpmforge: mirror.nl.leaseweb.net
 * updates: ftp.plusline.de
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package mysql.x86_64 0:5.5.28-1.el6.remi will be installed
--> Processing Dependency: mysql-libs(x86-64) = 5.5.28-1.el6.remi for package: mysql-5.5.28-1.el6.remi.x86_64
---> Package mysql-server.x86_64 0:5.5.28-1.el6.remi will be installed
--> Processing Dependency: perl-DBD-MySQL for package: mysql-server-5.5.28-1.el6.remi.x86_64
--> Running transaction check
---> Package mysql-libs.x86_64 0:5.5.28-1.el6.remi will be installed
---> 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
--> Running transaction check
---> Package mysql51-libs.x86_64 0:5.1.66-1.ius.el5 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=================================================================================================================================================================================
 Package                                       Arch                                  Version                                           Repository                           Size
=================================================================================================================================================================================
Installing:
 mysql                                         x86_64                                5.5.28-1.el6.remi                                 remi                                5.7 M
 mysql-server                                  x86_64                                5.5.28-1.el6.remi                                 remi                                 10 M
Installing for dependencies:
 mysql-libs                                    x86_64                                5.5.28-1.el6.remi                                 remi                                771 k
 mysql51-libs                                  x86_64                                5.1.66-1.ius.el5                                  ius                                 1.7 M
 perl-DBD-MySQL                                x86_64                                4.013-3.el6                                       base                                134 k

Transaction Summary
=================================================================================================================================================================================

如您所见,它正在下载适用于 mysql 5.5 和 5.1 的 mysql 库!我该如何修复它?

答案1

您还安装并启用了 IUS 社区存储库。禁用此存储库,因为它与 remi(和许多其他存储库)冲突。

答案2

我不认为这是一个需要修复的问题。您有不同的库依赖于不同版本的 libmysqlclient.so,DB 服务器可以安全地与不同版本的客户端通信。在这种情况下,MySQL 附带了一些用 perl 编写的实用程序,并且 perl MySQL 库是针对 5.1 版客户端库构建的,不应该以任何方式影响实用程序。

答案3

问题是由于存储库冲突造成的,其中一些存储库存储了较新版本的 mySQL,而一些存储库只保存了旧的、肯定稳定的版本。

我禁用了那些存储库,只保留了那些保存最新稳定版本 MySQL 并修复问题的存储库。

感谢您的帮助!

答案4

如果您想在 CentOS 6 上安装 MySql 5.5 并且 mysql-libs 中存在过度冲突,您必须:

yum install yum-plugin-replace
wget https://mirror.webtatic.com/yum/el6/latest.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm
yum install mysql.`uname -i` yum-plugin-replace
yum replace mysql --replace-with mysql55w
yum replace mysql-libs --replace-with mysql55w-libs
yum install mysql55w-server mysql55w
service mysqld start
mysql_secure_installation

输入您的密码即可完成!

相关内容