T.I.L May 25, 2023 (DRF 프로젝트 DB sqlite3에서 MySQL로 바꾸기)

2023. 5. 25. 02:30T.I.L (Today_I_Learned)

* Windows 환경에 적용되는 내용 입니다.

순서


1. MySQL 설치

2. Django 프로젝트에서 MySQL사용을 위한 준비

3. MySQL과 Django 프로젝트 연동

 

1. MySQL 설치


MySQL 설치는 상세하게 설명이 되어있는 다른 블로그의 글을 참고했습니다.

정리가 워낙 잘 되어 있어서 링크를 공유합니다.

https://losskatsu.github.io/it-infra/mysql-install-win/#

 

[Infra] MySQL 윈도우 10에 설치하기

MySQL 윈도우 10에 설치하기

losskatsu.github.io

Windows 10에 설치라고 되어 있지만 설치하는 과정은 Windows 11 환경에서도 크게 다르지 않았습니다.

 

2. Django 프로젝트에서 MySQL사용을 위한 준비


1. Django 프로젝트의 가상환경에서 mysqlclient를 설치해 줍니다.

    (mysqlclient 라이브러리를 통해 MySQL과 Django 프로젝트에서 사용할 DB를 연동할 수 있습니다.)

pip install mysqlclient

 

2. MySQL Workbench 8.0 CE를 실행하고 아래의 명령어를 입력하여 프로젝트와 연결할 데이터베이스를 MySQL에 생성해 줍니다.

create database <DB 이름> character set utf8mb4 collate utf8mb4_general_ci;

 

3. MySQL과 Django 프로젝트 연동


1. 프로젝트 루트 디렉토리로 돌아와 DB세팅을 입력해 놓을 새 파일(my_settings.py)를 생성해 줍니다.

    (배포나 git hub에 공유가 되면 안되는 정보들이 저장될 것이기 때문에 따로 관리하려는 목적 입니다.)

DATABASES = {
    'default' : {
        'ENGINE': 'django.db.backends.mysql',    [1]
        'NAME': 'mydjango_pjt',                  [2]
        'USER': 'root',                          [3]
        'PASSWORD': 'password',                  [4]
        'HOST': 'localhost',                     [5]
        'PORT': '3306',                          [6]
    }
}

[ 1 ] : 사용할 엔진 설정.
[ 2 ] : 연동할 MySQL의 데이터베이스 이름
[ 3 ] : DB 접속 계정명
[ 4 ] : 해당 DB 접속 계정 비밀번호
[ 5 ] : 실제 DB 주소, 따로 설정 안했으면 그대로 두면 됩니다.
[ 6 ] : 포트번호, 따로 설정 안했으면 그대로 두면 됩니다.

 

2. 기존 settings.py에 새로 작성한 데이터베이스 설정을 임포트해서 적용시켜줘야합니다.

# 기존 데이터베이스 설정 정보

DATABASES = {
    "default": {
        "ENGINE": "django.db.backends.sqlite3",
        "NAME": BASE_DIR / "db.sqlite3",
    }
}

settings.py에 작성되어 있던 위 내용을 지우고 아래와 같이 settings.py 상단에 새로운 세팅 정보가 있는 my_settings.py를 import 해줍니다.

import my_settings

DATABASES = my_settings.DATABASES

 

 

참고한 글


https://losskatsu.github.io/it-infra/mysql-install-win/#

 

[Infra] MySQL 윈도우 10에 설치하기

MySQL 윈도우 10에 설치하기

losskatsu.github.io

https://eveningdev.tistory.com/14

 

[Django] Django-MySQL 연동하는 방법과 MySQL Workbench 사용 실습하기

안녕하세요 ​ 이번 시간에는 Django와 Mysql 연동하는 실습을 진행하겠습니다. 추가적으로 MySQL Workbench를 간단하게 다뤄보도록 하겠습니다. ​ 0. 사전 준비 (MySQL, MySQL Workbench 설치하기) MySQL :: MySQL

eveningdev.tistory.com

https://velog.io/@devmin/Django-MySQL-Connect