Comment 6 for bug 1269877

Revision history for this message
Keith Murphy (bmurphy) wrote :

The issue here doesn't have anything to perl-MySQL-DBD or perl in general.

I just experienced exactly the same issue on a RedHat 6.5 system. All perl modules of any note installed and I get the same error message about perl-MySQL-DBD.

[root@perr2dbph01 ~]# pt-deadlock-logger --host=localhost --socket=/var/lib/mysql/mysql.sock --user=root --password=mysql@dm1n --dest D=admin,t=deadlocks --daemonize --run-time 1h --interval 30s
install_driver(mysql) failed: Attempt to reload DBD/mysql.pm aborted.
Compilation failed in require at (eval 23) line 3.

 at /usr/bin/pt-deadlock-logger line 2399
[root@perr2dbph01 ~]#

root@perr2dbph01 ~]# rpm -qa | grep -i percon
percona-xtrabackup-2.1.9-744.rhel6.x86_64
percona-toolkit-2.2.9-1.noarch
percona-nagios-plugins-1.1.3-1.noarch
Percona-Server-shared-56-5.6.17-rel65.0.el6.x86_64
Percona-Server-server-56-5.6.17-rel65.0.el6.x86_64
percona-release-0.0-1.x86_64
Percona-Server-client-56-5.6.17-rel65.0.el6.x86_64
[root@perr2dbph01 ~]# rpm -qa | grep -i mysql
perl-DBD-MySQL-4.013-3.el6.x86_64
[root@perr2dbph01 ~]#

When I installed the mysql-libs package the following magic happens:
[root@perr2dbph01 ~]# yum install mysql-libs
Loaded plugins: product-id, security
Setting up Install Process
Package mysql-libs is obsoleted by MySQL-shared-compat, trying to install MySQL-shared-compat-5.5.28-1.el6.x86_64 instead
Resolving Dependencies
--> Running transaction check
---> Package MySQL-shared-compat.x86_64 0:5.5.28-1.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=========================================================================================================================================
 Package Arch Version Repository Size
=========================================================================================================================================
Installing:
 MySQL-shared-compat x86_64 5.5.28-1.el6 RHEL-6-Repository-Prod 3.8 M

Transaction Summary
=========================================================================================================================================
Install 1 Package(s)

Total download size: 3.8 M
Installed size: 11 M
Is this ok [y/N]: y
Downloading Packages:
MySQL-shared-compat-5.5.28-1.el6.x86_64.rpm | 3.8 MB 00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Warning: RPMDB altered outside of yum.
** Found 5 pre-existing rpmdb problem(s), 'yum check' output follows:
perl-DBD-MySQL-4.013-3.el6.x86_64 has missing requires of libmysqlclient.so.16()(64bit)
perl-DBD-MySQL-4.013-3.el6.x86_64 has missing requires of libmysqlclient.so.16(libmysqlclient_16)(64bit)
2:postfix-2.6.6-2.2.el6_1.x86_64 has missing requires of libmysqlclient.so.16()(64bit)
2:postfix-2.6.6-2.2.el6_1.x86_64 has missing requires of libmysqlclient.so.16(libmysqlclient_16)(64bit)
2:postfix-2.6.6-2.2.el6_1.x86_64 has missing requires of mysql-libs
  Installing : MySQL-shared-compat-5.5.28-1.el6.x86_64 1/1
  Verifying : MySQL-shared-compat-5.5.28-1.el6.x86_64 1/1

Installed:
  MySQL-shared-compat.x86_64 0:5.5.28-1.el6

Complete!
[root@perr2dbph01 ~]# pt-deadlock-logger --host=localhost --socket=/var/lib/mysql/mysql.sock --user=root --password=xxxxxx --dest D=admin,t=deadlocks --daemonize --run-time 1h --interval 30s
[root@perr2dbph01 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.5 (Santiago)
[root@perr2dbph01 ~]#

As you can see it suddenly started working perfectly.

As I see it the core issue here is the requirement for what amounts to a shared-compat library because the percona toolkit items are looking for old libraries. Update the tools to use the newer libraries and this all goes away. This is a pain, especially since Percona no longer supplies a shared-compat rpm.

Hope this helps.

keith