반응형
Django 웹 프레임워크에서 MySQL 데이터베이스로 변경
Django 웹 프레임워크에서 기본 데이터베이스(예: SQLite)에서 MySQL로 변경하려면 다음 단계를 순서대로 진행하시면 됩니다.
✅ 1. MySQL 설치 및 사용자/데이터베이스 생성
이미 설치되어 있다면 이 단계는 건너뛰어도 됩니다.
sudo apt install mysql-server # Ubuntu 기준
sudo mysql_secure_installation
MySQL 접속 후:
CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';
GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES;
✅ 2. Python MySQL 클라이언트 설치
pip install mysqlclient
※ 오류가 발생하면 다음과 같은 의존 패키지를 먼저 설치해야 할 수 있습니다.

sudo apt install python3-dev default-libmysqlclient-dev build-essential # Debian/Ubuntu
✅ 3. settings.py에서 DATABASE 설정 변경
settings.py 파일의 DATABASES 항목을 다음처럼 수정합니다.
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mydb', # DB 이름
'USER': 'myuser',
'PASSWORD': 'mypassword',
'HOST': 'localhost',
'PORT': '3306',
'OPTIONS': {
'init_command': "SET sql_mode='STRICT_TRANS_TABLES'",
},
}
}
✅ 4. 마이그레이션 수행
python manage.py migrate
※ 에러가 없으면 정상적으로 테이블이 MySQL에 생성됩니다.
✅ 5. 데이터베이스 연결 테스트
python manage.py runserver
브라우저에서 기본 페이지가 잘 뜨면 연결 성공입니다.
🔐 보안 팁: .env 파일로 DB 정보 관리
.env 파일 예시:
DB_NAME=mydb
DB_USER=myuser
DB_PASSWORD=mypassword
DB_HOST=localhost
DB_PORT=3306
settings.py에서 decouple로 불러오기:
pip install python-decouple
from decouple import config
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': config('DB_NAME'),
'USER': config('DB_USER'),
'PASSWORD': config('DB_PASSWORD'),
'HOST': config('DB_HOST'),
'PORT': config('DB_PORT'),
}
}
반응형
'컴퓨터 활용 > 노년에 즐기는 코딩' 카테고리의 다른 글
| FastAPI 프로젝트에 연동한 MySQL의 작동 원리 (2) | 2025.05.10 |
|---|---|
| FastAPI 프로젝트에서 사용한 Git 명령어 정리 (3) | 2025.05.09 |
| [Django] 장고 프로젝트에서 SECRET_KEY란? (1) | 2025.05.02 |
| [Django] 프로젝트에서 .env 파일을 사용해 환경변수 관리하는 방법 (2) | 2025.05.01 |
| [Django] OpenAI API 키 관리 (1) | 2025.04.30 |
댓글