首页 > 代码库 > install_driver(mysql) failed

install_driver(mysql) failed

    安装好了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  

install_driver(mysql) failed