升级mysql后,python操作mysql报错:import _mysql ImportError: libmysqlclient.so.18: cannot open shared object
0x00 报错描述
之前把mysql从5.6升级到了5.7,然后在使用python安装或者操作mysql数据库的时候报了一个错:“import _mysql ImportError: libmysqlclient.so.18: cannot open shared object file: No such file or directory”
0x01 解决方法
百度了下,说是MySQLdb是需要调用MySQL的c动态链接库。想了下,可能是最近刚好把自动化测试的数据库被迁到另外一个服务器,脚本所在服务器的MySQL也被卸载了,然后找不到那个库。
解决方法1:
- 先找找系统中有没有这个库:
find -name libmysqlclient.so.18
- 将libmysqlclient.so.18 链接到/usr/lib64中:
ln -s /usr/java/mysql/lib/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so.18
解决方法2(成功):
- 卸载虚拟环境:
rm -rf venv/
- 重新安装python依赖库:
pip install -r req.txt