说明:这是在python3.6.8+Django2.2的环境下的MySQL的使用
首先是去MySQL客户端去创建数据库,默认数据集设置为utf8
CREATE DATABASE IF NOT EXISTS dbname DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
然后安装 mysqlclient 模块,通过 mysqlclient 模块完成和数据库之间的连接。
pip install mysqlclient
最后更改Django数据库配置
DATABASES = {
'default': {
'ENGINE':'django.db.backends.mysql',
'NAME':'chatroom',
'HOST':'127.0.0.1',
'USER':'root',
'PASSWORD':'password',
'PORT':'3306', }}
注意:安装pymysql模块,通过pymysql模块完成和数据库之间的连接,会出现以下两种错误
错误一:No module named 'MySQLdb'
原因:python3连接MySQL不能再使用mysqldb,取而代之的是pymysql。
解决方法:在python的MySQL包中,即路径:C:\Users\adong\AppData\Local\Programs\Python\Python36\Lib\site-packages\Django-2.0.3-py3.6.egg\django\db\backends\mysql
下的__init__.py文件中加入:
import pymysql
pymysql.install_as_MySQLdb()
错误二:django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.3 or newer is required; you have 0.7.11.None
原因:在解决了错误一以后出现了此错误。
解决方法:在python的MySQL包中,即路径:C:\Users\adong\AppData\Local\Programs\Python\Python36\Lib\site-packages\Django-2.0.3-py3.6.egg\django\db\backends\mysql
下的 base.py 文件中,注释掉一下两行代码:
if version < (1, 3, 3):
raise ImproperlyConfigured("mysqlclient 1.3.3 or newer is required; you have %s" % Database.__version__)