[root@master-b ~]# yum install -y MariaDB
|
Loaded plugins: fastestmirror
|
Loading mirror speeds from cached hostfile
|
* base: dallas.tx.mirror.xygenhosting.com
|
* epel: mirror.utexas.edu
|
* extras: centos.mirror.lstn.net
|
* updates: mirror.beyondhosting.net
|
Excluding Packages from Extra Packages for Enterprise Linux 5 - x86_64
|
Finished
|
Excluding Packages from MariaDB
|
Finished
|
Setting up Install Process
|
Resolving Dependencies
|
--> Running transaction check
|
---> Package MariaDB-server.x86_64 0:5.5.37-1 set to be updated
|
--> Processing Dependency: MariaDB-client for package: MariaDB-server
|
--> Processing Dependency: MariaDB-common for package: MariaDB-server
|
--> Running transaction check
|
---> Package MariaDB-client.x86_64 0:5.5.37-1 set to be updated
|
---> Package MariaDB-common.x86_64 0:5.5.37-1 set to be updated
|
--> Processing Conflict: mysql conflicts MySQL
|
--> Restarting Dependency Resolution with new changes.
|
--> Running transaction check
|
---> Package MariaDB-shared.x86_64 0:5.5.37-1 set to be updated
|
--> Processing Dependency: libmysqlclient.so.15()(64bit) for package: perl-DBD-MySQL
|
--> Processing Dependency: libmysqlclient.so.15(libmysqlclient_15)(64bit) for package: perl-DBD-MySQL
|
--> Processing Dependency: libmysqlclient_r.so.15()(64bit) for package: collectd-mysql
|
--> Processing Dependency: libmysqlclient_r.so.15(libmysqlclient_15)(64bit) for package: collectd-mysql
|
--> Running transaction check
|
---> Package MariaDB-compat.x86_64 0:5.5.37-1 set to be updated
|
--> Finished Dependency Resolution
|
|
Dependencies Resolved
|
|
===============================================================================================================================================================================================================================
|
Package Arch Version Repository Size
|
===============================================================================================================================================================================================================================
|
Installing:
|
MariaDB-server x86_64 5.5.37-1 mariadb 43 M
|
replacing mysql-server.x86_64 5.0.95-5.el5_9
|
|
MariaDB-shared x86_64 5.5.37-1 mariadb 1.3 M
|
replacing mysql.x86_64 5.0.95-5.el5_9
|
|
Installing for dependencies:
|
MariaDB-client x86_64 5.5.37-1 mariadb 12 M
|
MariaDB-common x86_64 5.5.37-1 mariadb 29 k
|
MariaDB-compat x86_64 5.5.37-1 mariadb 3.4 M
|
|
Transaction Summary
|
===============================================================================================================================================================================================================================
|
Install 5 Package(s)
|
Upgrade 0 Package(s)
|
|
Total size: 60 M
|
Downloading Packages:
|
Running rpm_check_debug
|
ERROR with rpm_check_debug vs depsolve:
|
MySQL conflicts with mysql-5.0.95-5.el5_9.i386
|
Complete!
|
(1, [u'Please report this error in http://bugs.centos.org/yum5bug'])
|
[root@master-b ~]#
|
Currently, the RPMs try to use files and "Provides" that conflict with a MySQL installation on a server:
[root@master-a rpms]# rpm -ivh MariaDB-5.5.37-centos5-x86_64-* --test
error: Failed dependencies:
MySQL conflicts with mysql-5.0.95-5.el5_9.x86_64
MySQL conflicts with mysql-5.0.95-5.el5_9.i386
MySQL-server conflicts with mysql-server-5.0.95-5.el5_9.x86_64
[root@master-a rpms]#
as a result, there is no clean pathway to use RPM to handle an upgrade from MySQL -> MariaDB.
One could rpm -e to remove the pre-existing MySQL RPMs, but if there are any other packages that rely on MySQL, you'll need to use --nodeps. This will render the upgrade process non-transactional. rpm -U really is the best way to do this, and these sorts of conflicts are exactly what Obsoletes is designed to manage.
The concern described in the cited Comment in the description can be handled differently: We keep our Maria RPMs in a completely separate repository, and when we know we want a server to use Maria, we install that particular repos release RPM. This allows for us to deploy both MySQL and Maria infrastructure. However, because of the lack of comprehensive Obsoletes tags, we have no way "clean" way to programmatically handle upgrades from MySQL to Maria.