본문 바로가기
Frameworks/Django

Django2.1 mysql 연동하기

by Nov19 2019. 3. 15.
반응형


Django2.1 mysql 연동하기


mysql 이 설치되어 있다고 가정하고 진행한다.

이 포스팅에서는 bitnami로 설치된 mysql을 Django와 연동한다.

비트나미를 설치하고 나면 사용자에 따라 다르겠지만

이 컴퓨터에는 C:\Bitnami\wampstack-7.1.25-0\mysql 에 설치되어 있다.


mysql에 Django에서 쓸 데이터베이스를 하나 만들어준다.

테이블이 없는 데이터베이스만 생성해놓고 Django와 mysql을 연동시킨뒤 Django프로젝트에서 migrate를 하게 되면 자동으로 테이블들이 생성된다.


AMP를 사용한다면 phpmyadmin이 생성되기 때문에 서버를 실행하 127.0.0.1/phpmyadmin에 접속하여 데이터베이스를 생성해줘도 되고,


윈도우 터미널에서 mysql에 접속하여 직접 데이터베이스를 만들어줘도 된다.


윈도우 터미널에서 데이터베이스 접속

$ mysql -u root -p 



>>> CREATE DATABASE 데이터베이스이름 default CHARACTER SET UTF8;  


mysql path설정

터미널에서 mysql 명령이 먹히지 않을 때는 path설정이 되어 있지 않았기 때문이다.


제어판 > 시스템 및 보안 > 시스템 > 고급 시스템 설정 으로 들어가면 

시스템 속성 창이 나온다.  고급탭의 환경 변수로 들어간다.



환경 변수 창에서 시스템변수의 변수중 Path를 선택하고 편집을 누른다.



이 컴퓨터는 비트나미를 설치하여 mysql의 기본 위치가 저렇게 되어 있는데 각자 mysql이 설치된 디렉토리를 지정해 주면 된다. mysql 디렉토리에서 명령어들이 모여있는 bin 폴더를 지정해야 한다.




Django mysql 클라이언트 설치

Django 프로젝트를 실행하고 가상환경 터미널에 mysql 클라이언트를 설치해준다.


$ pip install Mysqlclient 


settings.py 의 DATABASES 부분을 다음과 같이 수정해 준다.

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'db_name', # Database 이름
'USER': 'user_name', # 데이터베이스에서 사용할 계정
'PASSWORD': 'password', # 계정의 비밀번호
'HOST': 'localhost', # 데이테베이스 주소
'PORT': '3306', # 데이터베이스 포트, mysql 디폴트값은 3306
}
}


이제 Django에서 migrate 명령을 실행하면 생성한 Database에 테이블들이 생성된다.

서버를 실행시켜 확인해본다.


$ python manage.py migrate
$ python manage.py runserver 

서버를 실행해보면 mysql데이터베이스와 연동되어 있다.

반응형

댓글