使用PyMySQL连接MySQL错误

之前写了一个小项目,今天突然想起来,准备优化一下,但是原本好好的项目竟然跑不起来了

emmm....我真的啥都没干呀

具体错误是这样的:

Traceback (most recent call last):
  ...
  File "C:\Program Files\Python36\lib\site-packages\pymysql\__init__.py", line 90, in Connect
    return Connection(*args, **kwargs)
  File "C:\Program Files\Python36\lib\site-packages\pymysql\connections.py", line 706, in __init__
    self.connect()
  File "C:\Program Files\Python36\lib\site-packages\pymysql\connections.py", line 931, in connect
    self._get_server_information()
  File "C:\Program Files\Python36\lib\site-packages\pymysql\connections.py", line 1269, in _get_server_information
    self.server_charset = charset_by_id(lang).name
  File "C:\Program Files\Python36\lib\site-packages\pymysql\charset.py", line 38, in by_id
    return self._by_id[id]
KeyError: 255

出现这个问题首先想到的是看看MySQL服务有没有启动,但服务已经启动了,所以排除这个原因

接着想到的是PyMySQL库的问题,在网上遍寻之后,发现旧版的PyMySQL不支持长度超过255的字段,但MySQL8.0里却更新了很多字符集长度超过了255,所以,更新PyMySQL试试看

查看安装的第三方库版本,更新PyMySQL版本:

pip list
pip install --upgrade PyMySQL

更新之后错误解决了

最后说一句:MySQL8.0有风险,使用需谨慎

 posted on 2019-07-26 10:07  KYIMH  阅读(1524)  评论(0编辑  收藏  举报