관리 메뉴

프로그래밍

[Django] MariaDB(MySQL) 연결 본문

환경설정

[Django] MariaDB(MySQL) 연결

시케 2023. 11. 28. 14:11
728x90
반응형

2023.11.28.화

MariaDB(MySQL) 연결

기본적으로 장고는 SQLite를 DB로 활용하도록 설정되어 있다이를 MariaDB 로 연결해보자

 

MariaDB 설치

MariaDB는 MySQL의 오픈소스를 가지고 만든 DBMS이므로 거의 구문이 같다

 

https://mariadb.org/

 

MariaDB Foundation - MariaDB.org

… Continue reading "MariaDB Foundation"

mariadb.org

 

해당 사이트에서 다운받아 설치할 수 있다

현재 Django 연결시 10.4 밑 버전은 마이그레이션 오류가 나므로 그보다 윗 버전 설치를 추천한다

 

Django 기본 DB 설정

Django 의 settings.py에서 디폴트로 활용할 DB 엔진을 바꿀 수 있다

 

현재 설정은 SQLite로 되어있는 것을 볼 수 있다

이 설정을 MariaDB(MySQL)로 변경해준다

 

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',   # 사용할 DB 엔진
        'NAME': 'testdb',                       # DB 이름
        'USER' : 'root',                        # 계정
        'PASSWORD' : '1234',                    # 비밀번호
        'HOST' : 'localhost',                   # HOST(기본값: localhost)
        'PORT' : '3306'                         # 포트번호(기본값: 3306)
    }
}

mysqlclient 설치

장고가 MariaDB를 이해할 수 있도록 해준다

:: 가상환경 진입
[가상환경 이름]\Scripts\activate

:: mysqlclient 설치 
pip install mysqlclient

 

MariaDB 설정

MariaDB에서 기본적인 설정을 해준다

 

create database [데이터베이스 명]; -- 데이터베이스 생성
show databases; -- 존재하는 데이터베이스 확인
use [데이터베이스 명]; -- 사용할 데이터베이스 선택
show tables; -- 존재하는 테이블 확인

 

위에서 장고 settings.py에 등록되었던 이름으로 데이터베이스를 생성하였다

마이그레이션

DB가 변경되었으므로 마이그레이션 생성 및 변경 적용을 해준다

 

:: 마이그레이션 생성
python manage.py makemigrations

:: 마이그레이션 적용
python manage.py migrate

 

 

다시 로컬DB를 확인해보면 그대로 DB 스키마가 적용된 것을 볼 수 있다

728x90
반응형
Comments