Django2.0以上版本配置MySQL


安装pymysql

pip install pymysql

修改settings.py

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'HOST': '127.0.0.1',
        'PORT': '3306',
        'NAME': '你的数据库名',
        'USER': '用户名',
        'PASSWORD': '密码',
    }
}

修改__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

解决办法:

  • 修改Lib\site-packages\django\db\backends\base\base.py文件

    前面省略了具体路径,根据报错信息能看到完整路径

把下面的代码注释掉即可:

if version < (1, 3, 3):
    raise ImproperlyConfigured("mysqlclient 1.3.3 or newer is required; you have %s" % Database.__version__)
  • 再次迁移可能遇到如下问题

    decode相关的问题

找到operations.py文件,把里面的decode换成encode 再次执行即可。