2019年7月7日星期日

Ubuntu下Python连接mysql时报错:ImportError: libmysqlclient.so.18: cannot open shared object file

Ubuntu下Python连接mysql时报错,错误内容如下:
import _mysql ImportError: libmysqlclient.so.18: cannot open shared object file:

解决办法一,软连接

locate libmysqlclient
from . import _mysql ImportError: libmysqlclient.so.18
sudo ln -s /usr/local/mysql/lib/libmysqlclient.so.20 /usr/lib64/libmysqlclient.so.18
参考:
实测:无效

解决办法二,添加  /usr/local/mysql/lib  到   /etc/ld.so.conf  文件里

参考:
实测:无效

解决办法三,sudo apt-get install libmysqlclient-dev (或 libmysqlclient20-dev 之类的)

实测:无效,因为已经安装好了

参考:

解决办法四,pip install --no-binary mysqlclient mysqlclient

参考:
实测:奏效了!!!厉害厉害!

另外注意

conda install mysqlclinet 的版本存在 open_ssl 的版本不兼容问题,不能用。只能用 pip 版的 mysqlclient

IPv6 的 fe80开头的地址

fe80开头的 ipv6 地址不是公网地址,没人给你分ip,自动协商的地址,通常无法用于上网。 现在各大运营商用的ipv6: 电信是240e开头的(240e::/20) 移动是2409开头的(2409:8000::/20) 联通是2408开头的(2408:8000::/20)