一、更换数据库的办法:
1、安装PyMySQL
2、修改project目录同名文件下的settings.py:DATABASES = {
'default': {
# 'ENGINE': 'django.db.backends.sqlite3', 默认的
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),默认的
'ENGINE': 'django.db.backends.mysql',
'NAME': 'hello_django_db',
'USER': 'root',
'PASSWORD': '1234',
'HOST': 'localhost',
'PORT': '3306',
}
}
3、在该目录下打开__init__.py文件,添加以下语句:
import pymysql
pymysql.install_as_MySQLdb()
然后运行 manage.py runserver,发现出现keyerro:255的错误;网上搜索,找到解决办法:
二、解决keyerro:255
主要原因是MySQL8.0更新了很多字符集,但是这些字符集长度超过255了,所以旧版的PyMySQL不支持长度超过255的字符
导致上述问题的主要原因是KeyError: 255
这个错误:
Traceback (most recent call last):
...
File "C:Program FilesPython36libsite-packagespymysql\__init__.py", line 90, in Connect
return Connection(*args, **kwargs)
File "C:Program FilesPython36libsite-packagespymysqlconnections.py", line 706, in __init__
self.connect()
File "C:Program FilesPython36libsite-packagespymysqlconnections.py", line 931, in connect
self._get_server_information()
File "C:Program FilesPython36libsite-packagespymysqlconnections.py", line 1269, in _get_server_information
self.server_charset = charset_by_id(lang).name
File "C:Program FilesPython36libsite-packagespymysqlcharset.py", line 38, in by_id
return self._by_id[id]
KeyError: 255
主要原因是MySQL8.0更新了很多字符集,但是这些字符集长度超过255了,所以旧版的PyMySQL不支持长度超过255的字符
查看当前版本的PyMySQL:
> pip list
Package Version
---------------------- -----------
PyMySQL 0.7.11
更新PyMySQL为最新版,问题解决。