Linux – Yum repo priorities and conflicts

centoscentos6linuxrepositoryyum

On my CentOS 6.4 server, I am running MySQL 5.5.33 that I installed from the remi repository. I decided to upgrade MySQL to 5.6.x via MySQL's own yum repositories:

After installing the repositories, I have this as my repo list:

# yum repolist enabled
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * Webmin: download.webmin.com
 * base: mirrors.xmission.com
 * epel: mirror.steadfast.net
 * extras: mirror.thelinuxfix.com
 * remi: remi.check-update.co.uk
 * updates: mirrors.xmission.com
repo id                                              repo name                                                                   status
Webmin                                               Webmin Distribution Neutral                                                    175
base                                                 CentOS-6 - Base                                                              6,367
epel                                                 Extra Packages for Enterprise Linux 6 - x86_64                              10,737
extras                                               CentOS-6 - Extras                                                               14
mysql-connectors-community                           MySQL Connectors Community                                                       6
mysql-tools-community                                MySQL Tools Community                                                            6
mysql56-community                                    MySQL 5.6 Community Server                                                      46
remi                                                 Les RPM de remi pour Enterprise Linux 6 - x86_64                             1,485
updates                                              CentOS-6 - Updates                                                             864
repolist: 19,700

So the MySQL 5.6 repository is installed and enabled. Now if I try to check the info of the installed MySQL to see what the latest version is available, I get this:

# yum info mysql
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * Webmin: download.webmin.com
 * base: mirrors.xmission.com
 * epel: mirror.steadfast.net
 * extras: mirror.thelinuxfix.com
 * remi: remi.check-update.co.uk
 * updates: mirrors.xmission.com
Installed Packages
Name        : mysql
Arch        : x86_64
Version     : 5.5.33
Release     : 1.el6.remi
Size        : 29 M
Repo        : installed
From repo   : remi
Summary     : MySQL clie.......

Available Packages
Name        : mysql
Arch        : x86_64
Version     : 5.5.37
Release     : 1.el6.remi
Size        : 5.8 M
Repo        : remi
Summary     : MySQL client progr....

So it appears that yum is still looking at the remi repository for the latest version. It's not even looking at the mysql56-community repository I guess. So next I try this:

# yum info mysql --disablerepo=\* --enablerepo=mysql56-community

That SHOULD ignore all other repositories except the Mysql repo. But I get:

# yum info mysql --disablerepo=\* --enablerepo=mysql56-community
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
Installed Packages
Name        : mysql
Arch        : x86_64
Version     : 5.5.33
Release     : 1.el6.remi
Size        : 29 M
Repo        : installed
From repo   : remi
Summ......

So it only lists my installed version and doesn't report that any other newer versions are available. I was expecting to see a 5.6.x version available from the mysql56-community repository.

What am I missing here? Is there some sort of repo conflict here?

UPDATE:

# yum --disablerepo=\* --enablerepo='mysql*-community*' list available
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
mysql55-community                                                                                               | 2.5 kB     00:00     
mysql57-community-dmr                                                                                           | 2.5 kB     00:00     
Available Packages
mysql-community-client.x86_64                                          5.6.17-4.el6                                   mysql56-community
mysql-community-common.i686                                            5.6.17-4.el6                                   mysql56-community
mysql-community-common.x86_64                                          5.6.17-4.el6                                   mysql56-community
mysql-community-devel.i686                                             5.6.17-4.el6                                   mysql56-community
mysql-community-devel.x86_64                                           5.6.17-4.el6                                   mysql56-community
mysql-community-embedded.i686                                          5.6.17-4.el6                                   mysql56-community
mysql-community-embedded.x86_64                                        5.6.17-4.el6                                   mysql56-community
mysql-community-embedded-devel.i686                                    5.6.17-4.el6                                   mysql56-community
mysql-community-embedded-devel.x86_64                                  5.6.17-4.el6                                   mysql56-community
mysql-community-libs.i686                                              5.6.17-4.el6                                   mysql56-community
mysql-community-libs.x86_64                                            5.6.17-4.el6                                   mysql56-community
mysql-community-libs-compat.i686                                       5.6.17-4.el6                                   mysql56-community
mysql-community-libs-compat.x86_64                                     5.6.17-4.el6                                   mysql56-community
mysql-community-server.x86_64                                          5.6.17-4.el6                                   mysql56-community
mysql-community-test.x86_64                                            5.6.17-4.el6                                   mysql56-community
mysql-connector-odbc.x86_64                                     5.3.2-1.el6                                  mysql-connectors-community
mysql-connector-python.noarch                                   1.1.6-1.el6                                  mysql-connectors-community
mysql-utilities.noarch                                          1.3.6-1.el6                                  mysql-tools-community     
mysql-workbench-community.x86_64                                6.1.4-1.el6                                  mysql-tools-community 

So there are mysql-community-* packages available, but no packages called just mysql-server. If I install these mysql-community* packages, how will that conflict with the mysql-server package I currently have installed?

Best Answer

The two repos, remi and mysql56-community, cannot be used together because they are using incompatible package naming schemes. yum info mysql will not show anything from the MySQL community repo because none of the packages is named mysql under the new naming scheme. Try yum info mysql\* instead.

Consequently, you cannot update MySQL directly from Remi to the MySQL community repo. Instead, you need to follow MySQL's instructions for replacing a third party distribution of MySQL, specifically the section on "Nonnative Third-Party Distributions". This involves uninstalling the Remi packages and then installing the MySQL community packages by their new names.

If you need to keep the Remi repo for other packages you should make sure that yum won't use its MySQL packages anymore by adding either exclude=mysql* or an appropriate includepkgs line to the repo definition.