Contents of articles
Solutions for error reporting
abstract
Pymysql connect to MySQL reported an error of keyerror255. Recently, I was trapped for more than two months by a difficult problem. If you search this title, you can see that the search engine has provided n ^ 2 articles on solutions. Why do you still trap me for so long?Don’t I know Baidu?NO NO NO!! The biggest problem is that my executive computer and data storage computer are not the same computer!!
Error information
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
The main reason is that MySQL 8.0 updates many character sets, but these character sets are longer than 255 code>, so the old version of pymysql does not support characters longer than 255
Online can find a lot of articles to solve this problem, consistent solution, update pymysql
pip install --upgrade pymysql
The following casually put a, interested can see, don't look also doesn't matter, full text summary on a sentence update pymysql, directly execute the above update code, if solve, OK! All is well, you can quit, but you can't solve it. The link article is not meaningful. Let's continue to read my text
Django appears after changing the default database SQLite3 to pymsql Keyerror:255 How to upgrade pymysql
Solution
As mentioned before, my executive computer and data storage computer are not the same computer!!
My own computer is mysql5.7, and the data storage computer version is 8.1
because at the beginning, the company's network security was upgraded to a secondary level, and then the company's intranet VPN was updated once (big exchange, the interface is different),
so at the beginning, I thought it was caused by the network security policy,
after all, all the online updates are pymysql, I'm already up-to-date and can't update any more
In fact, the solution is in a word, too lazy to beat around the bush so many words
uninstall and reload MySQL code>
yes! You're right! Is the MySQL database to unload, and then re install a version of 8.0 and above
So the main reason is that at the beginning MySQL 8.0 has updated many character sets, but the length of these character sets exceeds 255 code>
Write in the last canvassing session
recently participated in the CSDN official organization of "geek +" original blogger competition code>
after many screening, finally on the top 50
original is not easy, help cast a free vote
support: Click to vote
thank you!!!