본문 바로가기
AI 이론과 개발의 혼재/Python

Django - MariaDB 연동하기 (Windows)

by ministar 2018. 8. 3.



요즘 Django며, Python이며.. DB2, Mysql, sqlite 등 계속 맡은 일마다 쓰이는 DB가 달라서 DB연동 복이 터졌다. -0-

이번에는 MariaDB - Django 연동에 대해서 기록해둔다.



1. MariaDB 설치


https://downloads.mariadb.org/mariadb/10.3.8/

위 링크로 가서 본인과 맞는 버전의 maria db 설치 클릭~! 

mariadb=10.3.8-winx64.msi 다운로드 및 실행 


자세한 내용은 아래 블로그 참고 ▼

http://pyonji.tistory.com/11




2. DB 생성


간단하게.. Command 창에서 DB 를 생성해보자.


윈도우 '시작 > MariaDB 10.0 (x64) > MySQL Client (MariaDB 10.0 (x64))' 선택

mysql command창이 뜨는데 설치때 설정해뒀던 root password를 입력하고 접속한다.



-- (1) DB확인
show databases;
-- (2) DB생성
create database 데이터베이스명;
-- (3) DB사용
use 데이터베이스명;

간단하게 DB 생성 완료~




3. Python Maria DB 설치

기본적으로 Django에서는 sqlite3를 지원하고 있다. 
Maria DB로 변경해주기 위해서는 다음과 같은 작업을 따로 수행해줘야함 

todo. pip 활용하여 mysql 모듈 설치가 필요함 

pip install libmysqlclient-dev #위 코드가 에러 발생시 아래 코드로 설치 pip install mysqlclient


둘 다 했는데도 에러가 발생할 경우 이 방법으로 설치한다. 

- 설치 실패시에 아래 경로에서 .whl 파일 다운로드 
  https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python
 

pip install [다운받은 파일 이름]




4. Django에서 DB접근하도록 설정


Django 프로젝트 폴더 내 setting.py 수정

DATABASES = { 'default': { #'ENGINE': 'django.db.backends.sqlite3', #'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), 'ENGINE': 'django.db.backends.mysql', 'NAME': 'db-name', #mysql 'USER': 'db-user-name', #root 'PASSWORD': 'db-password', #1234 'HOST': 'db-adress', #공백으로 냅두면 default localhost 'PORT': 'port-number' #공백으로 냅두면 default 3306 } }


그 다음, django가 연동한 DB에 초기화가 될 수 있도록 아래와 같이 migration 명령어를 실행해주자

python manage.py makemigrations python manage.py migrate

실행이 성공적으로 마무리 되면, 아까 그 maria db command 창에서 확인해보자

show tables;


show tables를 하면 아래와 같은 테이블들이 생성되었음을 확인할 수 있다.

auth_group
auth_group_permissions
auth_permission
auth_user
auth_user_groups
auth_user_user_permissions
django_admin_log
djang_content_type
django_migrations
django_session


일단 그럼 준비는 완료! 


댓글