我无法将 MySQL 版本 8 连接到 Django 2.2 项目

I can't connect MySQL version 8 to Django 2.2 project

我已经尝试了几乎所有方法,包括搜索 Whosebug 来解决这个问题,但我似乎仍然面临这个问题。我正在尝试以零运气将我的 Django 2.2.6 项目连接到我的 MySQL 版本 8 数据库。

我已将 settings.py 文件更改为在数据库字典中包含以下键值对:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'portfoliodb',
        'USER': 'c**********s',
        'PASSWORD': 'XXX',
        'HOST': 'localhost',
        'PORT': '3306',
    }
}

打字

python manage.py runserver

returns出现以下错误:

django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.
Did you install mysqlclient?

我确实有 mysqlclient,打字

pip install mysqlclient

returns 以下:

requirement already met (1.4.4)

我也试过了

pip install pymysql

然后编辑 init.py 文件使其具有以下代码:

import pymysql

pymysql.install_as_MySQLdb()

同时保持我的数据库变量与上面相同。这样做会产生以下错误:

django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.

我已将 MySQL python 连接器下载并安装到我的系统上。

我试过在 settings.py 中给空的 ALLOWED_HOSTS 变量一个本地主机的参数。

MySQL 服务器在 Django 之外 运行 很好,可以在终端上非常成功地访问。

我将 Databases 变量中的 Engine 替换为:

mysql.connector.django

产生了以下错误代码:

django.core.exceptions.ImproperlyConfigured: 'mysql.connector.django' isn't an available database backend.
Try using 'django.db.backends.XXX', where XXX is one of:
    'mysql', 'oracle', 'postgresql', 'sqlite3'

我设法在这里回答了我自己的问题,并考虑删除 post,但它可能会帮助那里的其他人。我运行命令

pip install mysql-connector-python

在将 DATABASES 字典中的引擎值更改为之前:

'ENGINE': 'mysql.connector.django',

MySQL 数据库终于连接到我的 Django 项目