哎。linux 菜鸡搞这个问题,真是头大。
这个是mysql动态依赖库缺少东西,
笔者遇到的问题,和这个类似
http://blog.itpub.net/9240380/viewspace-2664532/
然后再服务器上执行
locate mysql.so
找到 这个文件的位置,
执行
ldd mysql.so
/usr/lib64/perl5/vendor_perl/auto/DBD/mysql/mysql.so
[root@mysql lib]# ldd /usr/lib64/perl5/vendor_perl/auto/DBD/mysql/mysql.so
linux-vdso.so.1 => (0x00007fffd64be000)
libmysqlclient.so.18 => not found
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f6c6c4a7000)
libz.so.1 => /lib64/libz.so.1 (0x00007f6c6c291000)
libm.so.6 => /lib64/libm.so.6 (0x00007f6c6bf8f000)
libssl.so.10 => /lib64/libssl.so.10 (0x00007f6c6bd1c000)
libcrypto.so.10 => /lib64/libcrypto.so.10 (0x00007f6c6b8b9000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f6c6b6b5000)
libc.so.6 => /lib64/libc.so.6 (0x00007f6c6b2f1000)
/lib64/ld-linux-x86-64.so.2 (0x000055675e854000)
libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x00007f6c6b0a4000)
libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007f6c6adbc000)
libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007f6c6abb7000)
libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007f6c6a984000)
libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00007f6c6a776000)
libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007f6c6a571000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f6c6a357000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f6c6a130000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f6c69ecd000)
[root@mysql lib]#
可以看到 ,缺失了这个 动态链接库
libmysqlclient.so.18 => not found ,因为笔者之前装过这个,所以直接找到这个文件
[root@mysql lib64]# locate libmysqlclient.so.18
/usr/lib64/mysql_20211214_1/libmysqlclient.so.18
/usr/lib64/mysql_20211214_1/libmysqlclient.so.18.0.0
找打之前安装的 libmysqlclient.so.20的位置,把18放到一起,也就是下面两个文件夹:
/usr/lib/ 和 /usr/lib64/
[root@mysql mysql_20211214_1]# locate libmysqlclient.so.20
/mha/mysql/install/public/mysql/lib/libmysqlclient.so.20
/mha/mysql/install/public/mysql/lib/libmysqlclient.so.20.3.10
/usr/lib/libmysqlclient.so.20
/usr/lib64/libmysqlclient.so.20
[root@mysql mysql_20211214_1]# cp libmysqlclient.so.18 /usr/lib/
[root@mysql mysql_20211214_1]# cp libmysqlclient.so.18 /usr/lib64/
好 ,然后再次查看mysql.so的依赖库
[root@mysql mysql_20211214_1]# ldd /usr/lib64/perl5/vendor_perl/auto/DBD/mysql/mysql.so
linux-vdso.so.1 => (0x00007ffe671e2000)
libmysqlclient.so.18 => /lib64/libmysqlclient.so.18 (0x00007f405e74b000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f405e52f000)
libz.so.1 => /lib64/libz.so.1 (0x00007f405e318000)
libm.so.6 => /lib64/libm.so.6 (0x00007f405e016000)
libssl.so.10 => /lib64/libssl.so.10 (0x00007f405dda4000)
libcrypto.so.10 => /lib64/libcrypto.so.10 (0x00007f405d940000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f405d73c000)
libc.so.6 => /lib64/libc.so.6 (0x00007f405d379000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f405d070000)
/lib64/ld-linux-x86-64.so.2 (0x000055b73ec54000)
libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x00007f405ce23000)
libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007f405cb3b000)
libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007f405c936000)
libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007f405c703000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f405c4ed000)
libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00007f405c2de000)
libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007f405c0da000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f405bec0000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f405bc98000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f405ba36000)
可以看到没得了,说明搞完了,执行
./pt-show-grants …
也不报错了。
参考博客:
http://blog.itpub.net/9240380/viewspace-2664532/

本文记录了作者在Linux环境下遇到DBD::mysql动态链接库缺失的问题,通过查找并复制libmysqlclient.so.18到正确路径,修复了ldd报错,最终成功运行pt-show-grants。
1289

被折叠的 条评论
为什么被折叠?



