安装好了mysql监控神器innotop,正得意,innotoop不可用,其错误提示为install_driver(mysql) failed: Can't load '/usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/DBD/mysql/mysql.so' for module DBD::mysql: libmysqlclient.so.15: cannot open shared object file:...经查原有又是DBD惹的祸,这个问题已经发生过好几次了。
1、故障现象
[root@dbsrv1 ~]# cat /etc/issue
CentOS release 5.11 (Final)
Kernel \r on an \m
[root@dbsrv1 ~]# innotop
localhost PROCESSLIST_NO_IS: install_driver(mysql) failed:
Can't load '/usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/DBD/mysql/mysql.so'
for module DBD::mysql: libmysqlclient.so.15: cannot open shared object file: No such file or directory at
/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/DynaLoader.pm line 230. at (eval 504) line 3
Compilation failed in require at (eval 504) line 3.
Perhaps a required shared library or dll isn't installed where expected
at /usr/bin/innotop line 7601
2、安装perl-DBD-MySQL
[root@dbsrv1 ~]# yum install perl-DBD-MySQL
Loaded plugins: fastestmirror, security
Repository base is listed more than once in the configuration
Repository updates is listed more than once in the configuration
Repository extras is listed more than once in the configuration
Repository centosplus is listed more than once in the configuration
Repository contrib is listed more than once in the configuration
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* epel: mirrors.ustc.edu.cn
* extras: mirrors.skyshe.cn
* updates: mirrors.pubyun.com
Setting up Install Process
Package perl-DBD-MySQL-3.0007-2.el5.x86_64 already installed and latest version
Nothing to do
###上面描述已经perl-DBD-MySQL已经安装,且为最新的版本
[root@dbsrv1 yum.repos.d]# rpm -qa |grep -i dbd
perl-DBD-MySQL-3.0007-2.el5
###首先先卸载perl-DBD-MySQL,然后再次使用yum安装
[root@dbsrv1 yum.repos.d]# rpm -e --nodeps perl-DBD-MySQL-3.0007-2.el5
[root@dbsrv1 yum.repos.d]# rpm -qa |grep -i dbd
[root@dbsrv1 yum.repos.d]# yum install perl-DBD-MySQL
Loaded plugins: fastestmirror, security
Repository base is listed more than once in the configuration
Repository updates is listed more than once in the configuration
Repository extras is listed more than once in the configuration
Repository centosplus is listed more than once in the configuration
Repository contrib is listed more than once in the configuration
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* epel: mirrors.ustc.edu.cn
* extras: mirrors.skyshe.cn
* updates: mirrors.pubyun.com
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package perl-DBD-MySQL.x86_64 0:3.0007-2.el5 set to be updated
--> Processing Dependency: libmysqlclient.so.15(libmysqlclient_15)(64bit) for package: perl-DBD-MySQL
--> Processing Dependency: libmysqlclient.so.15()(64bit) for package: perl-DBD-MySQL
--> Running transaction check
---> Package mysql.x86_64 0:5.0.95-5.el5_9 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
=============================================================================================================
Package Arch Version Repository Size
=============================================================================================================
Installing:
perl-DBD-MySQL x86_64 3.0007-2.el5 base 148 k
Installing for dependencies:
mysql x86_64 5.0.95-5.el5_9 base 4.9 M
Transaction Summary
=============================================================================================================
Install 2 Package(s)
Upgrade 0 Package(s)
Total download size: 5.0 M
Is this ok [y/N]: y
Downloading Packages:
(1/2): perl-DBD-MySQL-3.0007-2.el5.x86_64.rpm | 148 kB 00:00
(2/2): mysql-5.0.95-5.el5_9.x86_64.rpm | 4.9 MB 00:11
-------------------------------------------------------------------------------------------------------------
Total 406 kB/s | 5.0 MB 00:12
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : mysql 1/2
warning: /etc/my.cnf created as /etc/my.cnf.rpmnew
Installing : perl-DBD-MySQL 2/2
Installed:
perl-DBD-MySQL.x86_64 0:3.0007-2.el5
Dependency Installed:
mysql.x86_64 0:5.0.95-5.el5_9
Complete!
###再次启用innotop正常
[root@dbsrv1 yum.repos.d]# innotop
3、关于perl-DBD-MySQL
DBD::mysql is the Perl5 Database Interface driver for the MySQL database. In other words: DBD::mysql is an interface between the Perl programming language and the MySQL programming API that comes with the MySQL relational database management system. Most functions provided by this programming API are supported. Some rarely used functions are missing, mainly because no-one ever requested them. :-)
http://search.cpan.org/dist/DBD-mysql/lib/DBD/mysql.pm
http://search.cpan.org/dist/DBD-mysql/
遭遇DBD::mysql::dr::imp_data_size unexpectedly
Temporary failure in name resolution