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 ~]#
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
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
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.
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 driver( mysql) failed: Attempt to reload DBD/mysql.pm aborted.
install_
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 xtrabackup- 2.1.9-744. rhel6.x86_ 64 toolkit- 2.2.9-1. noarch nagios- plugins- 1.1.3-1. noarch Server- shared- 56-5.6. 17-rel65. 0.el6.x86_ 64 Server- server- 56-5.6. 17-rel65. 0.el6.x86_ 64 release- 0.0-1.x86_ 64 Server- client- 56-5.6. 17-rel65. 0.el6.x86_ 64 MySQL-4. 013-3.el6. x86_64
percona-
percona-
percona-
Percona-
Percona-
percona-
Percona-
[root@perr2dbph01 ~]# rpm -qa | grep -i mysql
perl-DBD-
[root@perr2dbph01 ~]#
When I installed the mysql-libs package the following magic happens: compat, trying to install MySQL-shared- compat- 5.5.28- 1.el6.x86_ 64 instead compat. x86_64 0:5.5.28-1.el6 will be installed
[root@perr2dbph01 ~]# yum install mysql-libs
Loaded plugins: product-id, security
Setting up Install Process
Package mysql-libs is obsoleted by MySQL-shared-
Resolving Dependencies
--> Running transaction check
---> Package MySQL-shared-
--> Finished Dependency Resolution
Dependencies Resolved
======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ==== ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ==== shared- compat x86_64 5.5.28-1.el6 RHEL-6- Repository- Prod 3.8 M
Package Arch Version Repository Size
=======
Installing:
MySQL-
Transaction Summary ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ====
=======
Install 1 Package(s)
Total download size: 3.8 M compat- 5.5.28- 1.el6.x86_ 64.rpm | 3.8 MB 00:00 MySQL-4. 013-3.el6. x86_64 has missing requires of libmysqlclient. so.16() (64bit) MySQL-4. 013-3.el6. x86_64 has missing requires of libmysqlclient. so.16(libmysqlc lient_16) (64bit) 2.6.6-2. 2.el6_1. x86_64 has missing requires of libmysqlclient. so.16() (64bit) 2.6.6-2. 2.el6_1. x86_64 has missing requires of libmysqlclient. so.16(libmysqlc lient_16) (64bit) 2.6.6-2. 2.el6_1. x86_64 has missing requires of mysql-libs compat- 5.5.28- 1.el6.x86_ 64 1/1 compat- 5.5.28- 1.el6.x86_ 64 1/1
Installed size: 11 M
Is this ok [y/N]: y
Downloading Packages:
MySQL-shared-
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-
perl-DBD-
2:postfix-
2:postfix-
2:postfix-
Installing : MySQL-shared-
Verifying : MySQL-shared-
Installed: shared- compat. x86_64 0:5.5.28-1.el6
MySQL-
Complete! /var/lib/ mysql/mysql. sock --user=root --password=xxxxxx --dest D=admin,t=deadlocks --daemonize --run-time 1h --interval 30s
[root@perr2dbph01 ~]# pt-deadlock-logger --host=localhost --socket=
[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