Вчера я установил mysql на свой centos 6, но я не знал, что он устанавливает 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 для mysql 5.5 и 5.1! Как я могу это исправить?
У вас также установлено и включено репозиторий сообщества IUS. Отключите это репо, так как оно конфликтует с remi (и многими другими репозиториями).
Не думаю, что эту проблему нужно решать. У вас есть разные библиотеки, которые зависят от разных версий libmysqlclient.so, сервер БД может безопасно общаться с клиентами разных версий. В этом случае MySQL поставляется с некоторыми утилитами, написанными на perl, а библиотека MySQL для Perl построена на основе версии клиентской библиотеки 5.1 и никак не влияет на утилиты.
Проблема заключалась в конфликте репозиториев, в которых некоторые из них хранят более новую версию mySQL, а некоторые из них просто хранят свои старые, стабильные версии.
Я отключил эти репозитории и оставил только те, которые содержат последнюю стабильную версию MySQL, и проблема исправлена.
Спасибо за вашу помощь!
Если вы хотите установить MySql 5.5 на CentOS 6 и конфликты прав в 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
Введите свой пароль и готово!