install_driver(mysql) failed: Attempt to reload DBD/mysql.pm aborted

发布时间 2023-10-09 10:35:12作者: p#ssw0rd

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.
  1. yum install -y cpan
    未解决
  2. 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)