install_driver(mysql) failed: Attempt to reload DBD/mysql.pm aborted
install_driver(mysql) failed: Attempt to reload DBD/mysql.pm aborted
OS: Kylin Linux Advanced Server release V10 (Tercel)
Cannot connect to MySQL: install_driver(mysql) failed: Attempt to reload DBD/mysql.pm aborted.
Compilation failed in require at (eval 77) line 3.
- yum install -y cpan
未解决 - yum install -y perl-DBD-MySQL
未解决
解决办法
经查,是由于perl-DBD-MySQL中的mysql.so支持库引起的,首先检查perl-DBD-MySQL包的文件
[root@localhost ~]# rpm -qa|grep -i --color mysql
...
pel-DBD-MySQL-4.046-6.ky10.x86_64 <======
...
查找包中的支持库
[root@localhost ~]# rpm -ql perl-DBD-MySQL
...
/usr/lib64/perl5/vendor_perl/auto
/usr/lib64/perl5/vendor_perl/auto/DBD
/usr/lib64/perl5/vendor_perl/auto/DBD/mysql
/usr/lib64/perl5/vendor_perl/auto/DBD/mysql/mysql.so <========
...
[root@localhost ~]# ldd /usr/lib64/perl5/vendor_perl/auto/DBD/mysql/mysql.so
linux-vdso.so.1 (0x00007fffa816c000)
libmariadb.so.3 => not found <========
libz.so.1 => /lib64/libz.so.1 (0x00007f92ab0d1000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f92ab0cc000)
libm.so.6 => /lib64/libm.so.6 (0x00007f92aaf49000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f92aaf28000)
libssl.so.1.1 => /lib64/libssl.so.1.1 (0x00007f92aae94000)
libcrypto.so.1.1 => /lib64/libcrypto.so.1.1 (0x00007f92aabaa000)
libperl.so.5.28 => /lib64/libperl.so.5.28 (0x00007f92aa891000)
libc.so.6 => /lib64/libc.so.6 (0x00007f92aa6d0000)
/lib64/ld-linux-x86-64.so.2 (0x00007f92ab128000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f92aa695000)
libutil.so.1 => /lib64/libutil.so.1 (0x00007f92aa690000)
只要将该支持库放到lib64下,执行ldconfig即可,也可以直接尝试重新安装perl-DBD-MySQL
[root@localhost ~]# ldd /usr/lib64/perl5/vendor_perl/auto/DBD/mysql/mysql.so
linux-vdso.so.1 (0x00007ffc761a0000)
libmariadb.so.3 => /lib64/libmariadb.so.3 (0x00007f3e021fa000) <========
libz.so.1 => /lib64/libz.so.1 (0x00007f3e021e0000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f3e021db000)
libm.so.6 => /lib64/libm.so.6 (0x00007f3e02058000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f3e02037000)
libssl.so.1.1 => /lib64/libssl.so.1.1 (0x00007f3e01fa3000)
libcrypto.so.1.1 => /lib64/libcrypto.so.1.1 (0x00007f3e01cb9000)
libperl.so.5.28 => /lib64/libperl.so.5.28 (0x00007f3e019a0000)
libc.so.6 => /lib64/libc.so.6 (0x00007f3e017df000)
/lib64/ld-linux-x86-64.so.2 (0x00007f3e02289000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f3e017a4000)
libutil.so.1 => /lib64/libutil.so.1 (0x00007f3e0179f000)