4

Centos 7 x64, mysql-community 5.7 is installed from mysql57-community repo.

I am in the process of switching from mysql to percona. However, the first step is scary when I try to uninstall mysql.

Yum is removing system components such as crontabs and redhat-lsb-core alone with mysql.

# yum remove mysql-community-*
=====================================================================================================================================
 Package                             Arch           Version                     Repository                                      Size
=====================================================================================================================================
Removing:
 mysql-community-client              i686           5.7.18-1.el6                @mysql57-community                              87 M
 mysql-community-common              i686           5.7.18-1.el6                @mysql57-community                             2.5 M
 mysql-community-libs                i686           5.7.18-1.el6                @mysql57-community                             7.8 M
 mysql-community-libs-compat         i686           5.7.18-1.el6                @mysql57-community                             4.8 M
 mysql-community-server              i686           5.7.18-1.el6                @mysql57-community                             699 M
Removing for dependencies:
 cronie                              i686           1.4.4-16.el6_8.2            @updates                                       169 k
 cronie-anacron                      i686           1.4.4-16.el6_8.2            @updates                                        38 k
 crontabs                            noarch         1.10-33.el6                 @anaconda-CentOS-201605211917.i386/6.8         2.4 k
 geoipupdate-cron                    noarch         2.3.1-2.el6                 @city-fan.org                                  113
 postfix                             i686           2:2.6.6-8.el6               @base                                          9.4 M
 redhat-lsb-core                     i686           4.0-7.el6.centos            @base                                           22 k
 sysstat                             i686           9.0.4-33.el6                @base                                          804 k

Transaction Summary
=====================================================================================================================================
Remove       12 Package(s)

Why is that? Is there a graceful way to remove mysql?

This does not make sense because I installed mysql from mysql57-community repo. How could postfix depend on mysql?

So far my thought is re-install these packages after the switch is done. But I'd wish to find a better solution.

Reed
  • 287
  • 1
  • 3
  • 10
  • When you're install mysql? – Alexander Tolkachev Aug 11 '17 at 19:18
  • "How could postfix depend on mysql?" It could ```# ldd /usr/libexec/postfix/master | grep mysql libmysqlclient.so.18 => /usr/lib64/mysql/libmysqlclient.so.18 (0x00007f83f983b000)``` Have I missed something, but AFAIK CentOS 7 doesn't have builds for i686 architecture. – ALex_hha Aug 14 '17 at 18:58

2 Answers2

5

Postfix depends on having a package that provides libmysqlclient.

You can remove the old packages (mysql57-community) and install the new ones (Percona) in a single yum transaction using yum swap. This will ensure that Postfix will have the dependency before and after the transaction and yum will not try to remove it.

yum swap -- install percona-whatever-etc -- remove mysql-whatever-etc

Florin Asăvoaie
  • 6,932
  • 22
  • 35
0

I believe it's related to packages having mysql-community-libs as dependence, by the looks of the issue reported here.

To answer your question, postfix depends on it for its MySQL-backed database for virtuals, accesses and aliases (more details on the official docs).

markkuit
  • 43
  • 1
  • 8