rpm dependency on "mysql" no longer satisfied by Oracle MySQL 5.5.29 packages

Bug #1095972 reported by Ville Skyttä
36
This bug affects 6 people
Affects Status Importance Assigned to Milestone
Percona XtraBackup moved to https://jira.percona.com/projects/PXB
Fix Released
Medium
Alexey Bychko
2.0
Fix Released
Medium
Alexey Bychko
2.1
Fix Released
Medium
Alexey Bychko

Bug Description

It seems that MySQL-* 5.5.29 rpm packages from Oracle no longer satisfy "mysql" which is required by the xtrabackup rpms, at least on CentOS/RHEL 6, causing xtrabackup to try to pull in CentOS's "mysql" package which will fail because it'll conflict with MySQL-* installed from Oracle packages. Earlier Oracle package versions did Provide "mysql", but that Provides seems to have been dropped without a mention in the release notes.

I suppose changing "Requires: mysql" to "Requires: /usr/bin/mysql" in the xtrabackup rpms would fix this.

Tags: pkg i29642 i30889

Related branches

Revision history for this message
Raghavendra D Prabhu (raghavendra-prabhu) wrote :

Confirmed.

(with MySQL-server-5.5.29-1.linux2.6.x86_64.rpm installed prior)

sudo yum install xtrabackup
Loaded plugins: auto-update-debuginfo, fastestmirror, presto, security, upgrade-helper
Loading mirror speeds from cached hostfile
 * base: mirrors.hns.net.in
 * centosplus: mirrors.hns.net.in
 * elrepo: mirror.solvention.de
 * elrepo-extras: mirror.solvention.de
 * elrepo-kernel: mirror.solvention.de
 * epel: mirrors.ispros.com.bd
 * epel-debuginfo: mirrors.ispros.com.bd
 * epel-source: mirrors.ispros.com.bd
 * extras: mirrors.hns.net.in
 * fasttrack: mirrors.hns.net.in
 * updates: mirrors.hns.net.in
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package percona-xtrabackup.x86_64 0:2.0.4-484.rhel6 will be installed
--> Processing Dependency: mysql for package: percona-xtrabackup-2.0.4-484.rhel6.x86_64
--> Running transaction check
---> Package mysql.x86_64 0:5.1.66-2.el6_3 will be installed
--> Processing Conflict: MySQL-server-5.5.29-1.linux2.6.x86_64 conflicts mysql
--> Processing Conflict: mysql-5.1.66-2.el6_3.x86_64 conflicts MySQL
--> Finished Dependency Resolution
Error: MySQL-server conflicts with mysql
Error: mysql conflicts with MySQL-server
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

Here is what the provides shows: http://sprunge.us/fBdg

The Percona Server in the right installs fine whereas the MySQL
server fails as above.

Changed in percona-xtrabackup:
status: New → Confirmed
Revision history for this message
Tomasz Ch (gridzilla) wrote :

I was planning to try out Percona-xtrabackup, but I am not willing to put anything compiled from source on production servers.

5.5.29 is the official version from Oracle, and a fix seems to be very simple - does the team have plans to deal with this bug?

Just a note, the current "provides" for the Oracle MySQL:

$> rpm --provides -q MySQL-server-5.5.29
MySQL
MySQL-server
adt_null.so()(64bit)
auth.so()(64bit)
auth_socket.so()(64bit)
auth_test_plugin.so()(64bit)
config(MySQL-server) = 5.5.29-1.el6
libdaemon_example.so()(64bit)
msqlormysql
mypluglib.so()(64bit)
qa_auth_client.so()(64bit)
qa_auth_interface.so()(64bit)
qa_auth_server.so()(64bit)
semisync_master.so()(64bit)
semisync_slave.so()(64bit)
MySQL-server = 5.5.29-1.el6
MySQL-server(x86-64) = 5.5.29-1.el6

Alexey Bychko (abychko)
tags: added: pkg
tags: added: i29642
Revision history for this message
Raghavendra D Prabhu (raghavendra-prabhu) wrote :

rpm -q --provides -p MySQL-client-5.5.30-1.linux2.6.x86_64.rpm
MySQL-client
MySQL-client = 5.5.30-1.linux2.6

raghu archie:~ [74]% rpm -q --provides Percona-Server-client-55-5.5.27-rel28.1.296.rhel6.x86_64
MySQL
MySQL-client
mysql
mysql-client
Percona-Server-client-55 = 5.5.27-rel28.1.296.rhel6
Percona-Server-client-55(x86-64) = 5.5.27-rel28.1.296.rhel6

raghu archie:~ [75]% rpm -q --requires percona-xtrabackup-2.0.2-461.rhel6.x86_64
mysql
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadIsXz) <= 5.2-1

So, adding MySQL-client or /usr/bin/mysql to Xtrabackup's
Requires should do.

(However, this dependency won't be needed for long, since because of https://blueprints.launchpad.net/percona-xtrabackup/+spec/use-dbd-mysql-in-innobackupex the dependency from XB 2.1 onwards will be on perl DBD MySQL (much like percona-toolkit))

Revision history for this message
Ovais Tariq (ovais-tariq) wrote :

Adding the summary of discussion with Alexey.

The current dependencies of percona-xtrabackup are as follows:
[root@centos58_01 ~]# yum deplist percona-xtrabackup
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * base: mirror.awo-ha-mk.de
 * epel: mirrors.n-ix.net
 * extras: centos.mirror.linuxwerk.com
 * updates: centos.mirror.linuxwerk.com
Finding dependencies:
package: percona-xtrabackup.x86_64 2.0.5-499.rhel5
  dependency: mysql
   provider: mysql.i386 5.0.95-3.el5
   provider: mysql.x86_64 5.0.95-3.el5
   provider: mysql.i386 5.0.95-5.el5_9
   provider: mysql.x86_64 5.0.95-5.el5_9
   provider: Percona-SQL-client-50.x86_64 5.0.92-b23.85.rhel5
   provider: Percona-Server-client-55.x86_64 5.5.29-rel29.4.401.rhel5
   provider: Percona-Server-client-51.x86_64 5.1.67-rel14.3.506.rhel5
   provider: Percona-XtraDB-Cluster-client.x86_64 1:5.5.29-23.7.2.389.rhel5

The problem is that starting MySQL version 5.5.29 the MySQL-server RPM no loner meets the dependency, as it no longer provides "mysql":
[root@centos58_01 ~]# rpm -qp MySQL-server-5.5.30-1.rhel5.x86_64.rpm --provides
MySQL
MySQL-server
adt_null.so()(64bit)
auth.so()(64bit)
auth_socket.so()(64bit)
auth_test_plugin.so()(64bit)
config(MySQL-server) = 5.5.30-1.rhel5
libdaemon_example.so()(64bit)
libtcmalloc_minimal.so.0()(64bit)
msqlormysql
mypluglib.so()(64bit)
qa_auth_client.so()(64bit)
qa_auth_interface.so()(64bit)
qa_auth_server.so()(64bit)
semisync_master.so()(64bit)
semisync_slave.so()(64bit)
MySQL-server = 5.5.30-1.rhel5

The MySQL-client package provides the following:
[root@centos58_01 ~]# rpm -qp MySQL-client-5.5.30-1.rhel5.x86_64.rpm --provides
MySQL-client
MySQL-client = 5.5.30-1.rhel5

We cannot simply change the dependency of percona-xtrabackup to mysql-client because the mysql client that ships with centos 5 does not provide mysql-client. A solution could be to change to "Requires: /usr/bin/mysql"

Revision history for this message
Raghavendra D Prabhu (raghavendra-prabhu) wrote :

Just to clarify on the DBD dep in future, I think XB 2.0.x will still be depedent on mysql client and XB 2.1 will be on DBD, DBD dependency may not be backported to XB 2.0.x

Revision history for this message
Ignacio Nin (ignacio-nin) wrote :

What about depending on MySQL-client?

Percona-Server has been Provide:ing in both 5.1 and 5.5, since it's provided by Oracle's and we aim for compatibility.

Changed in percona-xtrabackup:
importance: Undecided → Medium
Revision history for this message
Ovais Tariq (ovais-tariq) wrote :

Ignacio depending on MySQL-client will cause problems with clients that ship with for example CentOS 5 because they do not provide MySQL-client

Alexey Bychko (abychko)
Changed in percona-xtrabackup:
assignee: nobody → Alexey Bychko (abychko)
Revision history for this message
Ovais Tariq (ovais-tariq) wrote :

Ignacio, a bit of context on what I was saying.

Provides from a MySQL client package that ships with CentOS 5.8:
[root@centos58_01 ~]# rpm -qp mysql-5.0.95-5.el5_9.x86_64.rpm --provides
config(mysql) = 5.0.95-5.el5_9
libmysqlclient.so.15()(64bit)
libmysqlclient.so.15(libmysqlclient_15)(64bit)
libmysqlclient_r.so.15()(64bit)
libmysqlclient_r.so.15(libmysqlclient_15)(64bit)
mysql = 5.0.95-5.el5_9

Provides from a MySQL client package that ships with CentOS 6.3:
[root@centos6_01 ~]# rpm -qp mysql-5.1.67-1.el6_3.x86_64.rpm --provides
mysql = 5.1.67-1.el6_3
mysql(x86-64) = 5.1.67-1.el6_3

So if the requires of XtraBackup is changed to MySQL-client or mysql-client, then percona-xtrabackup will still have dependency issues.

tags: added: i30889
Revision history for this message
Innocenzo Giminiani (innocenzogiminiani) wrote :

Hi,try:

1) Download mysql-community-libs-compat from mysql (https://dev.mysql.com/downloads/mysql/)
rpm -i mysql-community-libs-compat-5.7.17-1.el7.x86_64.rpm

2) Install perl-DBD-MySQL
yum install perl-DBD-MySQL

3) Install percona-xtrabackup
yum install percona-xtrabackup

Revision history for this message
Sergei Glushchenko (sergei.glushchenko) wrote :

Hi,

This bug was resolved 4 years ago, do you still having issues? If so, please file new bug report, describe your issues, provide commands you are using and their output. Thanks.

Revision history for this message
Shahriyar Rzayev (rzayev-sehriyar) wrote :

Percona now uses JIRA for bug reports so this bug report is migrated to: https://jira.percona.com/browse/PXB-612

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.