环境:阿里云 centos 6.5 mysql 5.6 python
问题:通过uri里面设置 charset=utf8mb4 连接数据库时,发生问题
Character set ‘utf8mb4’ is not a compiled character set and is not specified in the ‘/path/mysql/charsets/Index.xml’ file
经排查,是使用的mysql-devel 的版本是 5.1.73,太老导致。可通过如下命令查询其版本
rpm -qa | grep mysql
于是将其卸载,重装,发现 阿里云的默认源重装还是 5.1.73 的老版本,于是加入官方源
rpm -Uvh http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm
安装完之后,运行发生“libmysqlcilent_r.so.16 No such file or directory”这个错误。
查了一下,现在有的库文件是 libmysqlcilent_r.so.18,网上的一种解决方法是用软链接,把 18的版本变为 16,但我并不认为这是个好方法。
于是重装 python 的 mysqlclient库,结果,之前我用的是阿里的镜像,重装之后还是老问题,怀疑是cache导致安装的版本有误。于是把镜像的引用删除之后,重装