Я не могу подключить MySQL версии 8 к проекту Django 2.2 - PullRequest
2 голосов
/ 09 октября 2019

Я перепробовал почти все, включая чистку StackOverflow, чтобы решить эту проблему, но я все еще сталкиваюсь с этой проблемой. Я пытаюсь подключить свой проект 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

, возвращает следующую ошибку:

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

У меня действительно есть mysqlclient, набрав

pip install mysqlclient

, выдает следующее:

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.

У меня загружен и установлен Python-коннектор MySQL на мою систему.

Я попытался дать пустую переменную ALLOWED_HOSTS в settings.py аргумент моего локального хоста.

Сервер MySQL работает нормально за пределами Django и может быть успешно доступен на терминале.

Я заменил 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'
...