专栏首页诡途的python路pymysql connect 连接mysql 报错keyerror255

pymysql connect 连接mysql 报错keyerror255

摘要

pymysql connect 连接mysql 报错keyerror255;最近困了我两个多月的一个难题,搜这个标题进来的都可以看到搜索引擎提供了n^2篇解决方法的文章,那为什么还会困住我这么久呢?我不会百度吗?NO NO NO!!最大的问题是我的执行电脑和数据存储电脑不是同一台电脑!!

报错信息

  File "D:\Programfiles\Anaconda3\lib\site-packages\pymysql\connections.py", line 1269, in _get_server_information
    self.server_charset = charset_by_id(lang).name
  File "D:\Programfiles\Anaconda3\lib\site-packages\pymysql\charset.py", line 38, in by_id
    return self._by_id[id]
KeyError: 255

主要原因是MySQL8.0更新了很多字符集,但是这些字符集长度超过255了,所以旧版的PyMySQL不支持长度超过255的字符

网上可以查到很多解决这个问题的文章,方案一致,更新pymysql

pip install --upgrade pymysql

下面随便放了一篇,有兴趣的可以看看,不看也无所谓,全文总结就一句话更新pymysql,直接执行上面的更新代码,如果解决,ok !万事大吉,可以退出了,解决不了,放的这个链接文章看了意义也不大,继续往下看我的正文吧

django更换默认数据库sqlite3为pymsql后出现Keyerror:255的解决办法----升级PyMySQL

解决方案

正如前面所说,我的执行电脑和数据存储电脑不是同一台电脑!! 我自己电脑是mysql5.7,数据存储电脑版本是8.1 因为一开始公司网络安全升了次级,然后公司内网也更新了一次(大换血,界面都不一样了), 所以我一开始以为是网络安全策略导致的, 毕竟看网上全部是更新pymysql就行了,我已经最新了没法再新了

解决方案其实也就一句话,懒得绕弯子打那么多字了

  • 卸载重装Mysql

对!你没看错!就是Mysql数据库卸载了,然后重新装个8.0及以上版本的

所以主要原因还是一开始说的MySQL8.0更新了很多字符集,但是这些字符集长度超过255了

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 程序猿怎么利用技术挣钱?——python量化实践

    我们利用计算机技术,通过建模分析、优化参数等手段,从历史金融数据中挖掘出影响投资的指标,使用程序进行自动交易来获得“超额”的收益,这种投资方法就叫做量化交易。

    诡途
  • Message: session not created: This version of ChromeDriver only supports Chrome version 83

    一开始我还以为是 webdriver.Chrome() 原来的参数chrome_options被新的参数options替换了的原因

    诡途
  • 关于修改window.navigator.webdriver代码失效问题

    我前面写到过sycm自动抓取店铺数据 文章链接:https://blog.csdn.net/qq_35866846/article/details/10341...

    诡途
  • laravel5学习笔记

    lilugirl
  • Trans论文 | Proposal Learning用于半监督的目标检测

    今年的疫情给大家带来了很多的不便,但是我们“计算机视觉战队”依然坚守自己岗位,给关注我们的同学带来新的分享,今年我们大家一起加油!今天我们主要还是说一说目标检测...

    计算机视觉研究院
  • C#实现局域网内远程开机

    1、远程开机原理      远程开机Wake on LAN(WOL),俗称远程唤醒,远程唤醒的实现主要是向目标主机发送特殊格式的数据包,是AMD公司制作的Mag...

    waylon
  • Blazor 准备好为企业服务了吗?

    如果您正在编写 .NET Web 应用程序,您很可能已经意识最近一年在.NET Web开发领域的热点都是 Blazor 的。如果你还没有了解Blazor,它允许...

    张善友
  • Android 极光推送别名与标签方式

    为安装了应用程序的用户,取个别名来标识。以后给该用户 Push 消息时,就可以用此别名来指定。每个用户只能指定一个别名。

    砸漏
  • 送你一台“云端办公电脑”!

    前阵子因为做课程设计,有的时候人不在宿舍,电脑不在身边的话就没有办法画图!但是作为一个积极向上的五好优秀少年,我怎么可能会放松自己呢?所以就在上网的时候瞎逛,找...

    用户1687088
  • 【python-leetcode295-双堆】数据流的中位数

    void addNum(int num) - 从数据流中添加一个整数到数据结构中。 double findMedian() - 返回目前所有元素的中位数。 示例...

    绝命生

扫码关注云+社区

领取腾讯云代金券