文章目錄
- 摘要
- 報錯資訊
- 解決方案
摘要
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
因為一開始公司網路安全升了次級,然后公司內網的VPN也更新了一次(大換血,界面都不一樣了),
所以我一開始以為是網路安全策略導致的,
畢竟看網上全部是更新pymysql就行了,我已經最新了沒法再新了
解決方案其實也就一句話,懶得繞彎子打那么多字了
卸載重裝Mysql
對!你沒看錯!就是Mysql資料庫卸載了,然后重新裝個8.0及以上版本的
所以主要原因還是一開始說的MySQL8.0更新了很多字符集,但是這些字符集長度超過255了
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/76240.html
標籤:其他
