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/ 路径下才可以。