libmysqlclient.so.20: cannot open shared object file: No such file or directory解决后记

python2.7环境导入MySQLdb模块的时候,报libmysqlclient.so.20: cannot open shared object file: No such file or directory;

往上搜索解决办法,都是在本机搜索libmysqlclient.so.20,然后建立软连接;

然而本机搜索并没有搜到该文件,搜到/usr/lib64/mysql/libmysqlclient.so.21.1.21和/usr/lib64/mysql/libmysqlclient.so.18.1.0这两个文件;

尝试将这两个文件建立软连接到/usr/lib64/libmysqlclient.so.20,然后测试发现还是导入模块失败;

后来尝试多种办法均告失败,后来想到正在运行的另外一台服务器上可能有该文件,尝试搜索后发现,另外一台服务器上并没有libmysqlclient.so.20,只有一个libmysqlclient.so.20.3.9和该文件到libmysqlclient.so.20的软连接;

随后将libmysqlclient.so.20.3.9文件拷贝到缺失文件的服务器上和/usr/lib64/mysql/libmysqlclient.so.21.1.21、/usr/lib64/mysql/libmysqlclient.so.18.1.0置于同一路径下;

然后:ln -s /usr/lib64/mysql/libmysqlclient.so.20.3.9 /usr/lib64/mysql/libmysqlclient.so.20创建软连接;

导入MySQLdb模块,失败。。。;

灵机一动,发现好像往上搜索的办法建立的软连接都是指向/usr/lib64/libmysqlclient.so.20,随即将刚创建的软连接删除,并重新建立软连接:ln /usr/lib64/mysql/libmysqlclient.so.20.3.9 /usr/lib64/libmysqlclient.so.20;

导入MySQLdb成功!

暂时不清除为什么必须是在/usr/lib64/ 路径下才可以。

原文地址:https://www.cnblogs.com/sy-gbl/p/14202637.html