dev/django

Django MariaDB 연동

wlrn566 2023. 4. 8. 01:01

setting.py 파일에 연동할 DB를 정의해준다.

 

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', # mysqlclient librarly 설치
        'NAME': 'DB명',
        'USER': '유저명',
        'PASSWORD': '유저비밀번호', # mariaDB 설치 시 입력한 root 비밀번호 입력
        'HOST': '호스트',
        'PORT': '3306'
    }
}

 

가상환경 실행

 

source myvenv/scripts/activate

 

mysqlclient를 설치한다.

 

pip install mysqlclient

 

실행

 

python3 manage.py runserver

 


이슈들

 

1. MariaDB 10.3 or later is required 

10.3 이상으로 업그레이드 한후 다시 실행해본다.

 

 

 

 

2. name '_mysql' is not defined

 

 

 pip install pymysql # pymysql 설치

 

import pymysql / pymysql.install_as_MySQLdb() 추가

 

import pymysql
pymysql.install_as_MySQLdb()

DATABASES = {
    'default': {
        ...
    }
}

 

 

 

3. django.core.exceptions.ImproperlyConfigured: mysqlclient 1.4.3 or newer is required; you have 1.0.3.

 

pymysql.version_info = (1, 4, 3, "final", 0) 추가

 

 

 

 

 

4. You have 18 unapplied migration(s) ... 

 

 

admin이 없다는 이런 오류가 뜬다면 아래 명령어를 실행한다.

 

python manage.py createsuperuser

 

 

그런데도 이런 오류가 뜬다면 아래 명령어를 실행한다.

 

python manage.py makemigrations
python manage.py migrate