반응형
리눅스 환경에서 Django 프로젝트의 데이터베이스를 MySQL로 변경하는 전체 과정을 아래와 같이 정리해 드립니다.
✅ 1. MySQL 서버 설치 (Ubuntu 기준)
sudo apt update
sudo apt install mysql-server
설치 후 MySQL을 보안 설정합니다:
sudo mysql_secure_installation
✅ 2. MySQL 데이터베이스와 사용자 생성
MySQL에 접속:
sudo mysql -u root -p
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;
EXIT;
✅ 3. MySQL Python 연동 패키지 설치
Django에서 MySQL을 사용하려면 mysqlclient 패키지가 필요합니다:
sudo apt install python3-dev default-libmysqlclient-dev build-essential
pip install mysqlclient
✅ 4. Django 설정 파일(settings.py) 수정
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'",
},
}
}
※ 보안을 위해 .env 파일 사용을 권장합니다 (뒤에서 설명).
✅ 5. 마이그레이션 및 서버 실행
python manage.py makemigrations
python manage.py migrate
python manage.py runserver
정상 작동하면 MySQL 데이터베이스가 연결된 것입니다.
🔐 옵션: .env 파일로 DB 정보 관리 (보안 강화)
- .env 파일 생성:
DB_NAME=mydb
DB_USER=myuser
DB_PASSWORD=mypassword
DB_HOST=localhost
DB_PORT=3306
- 패키지 설치:
pip install python-decouple
- settings.py에 적용:
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'),
}
}
✅ 확인 방법
MySQL CLI에서 다음 명령어로 테이블 확인:
mysql -u myuser -p
USE mydb;
SHOW TABLES;
.
'유틸리티 > Web Programing' 카테고리의 다른 글
phpMyAdmin 설치 방법과, mysqli, PDO 코드 예제 (0) | 2025.06.03 |
---|---|
php-mysql 설치 (0) | 2025.06.02 |
PHP와 Apache만 별도 설치 (1) | 2025.06.01 |
Flask 서버를 실행 상태로 유지 (0) | 2025.05.23 |
MySQL과 MariaDB 비교 (0) | 2025.05.22 |