[멋사] django + mysql 연결하기

김지연·2023년 7월 10일
0

멋쟁이사자처럼_hywu

목록 보기
12/17
post-thumbnail

저번 글과 이어진다.

기본적으로 프로젝트를 하나 만들었다고 가정하고 진행을 하겠다.

(혹시 만들 줄 모른 사람을 위해 간단한 명령어만 남기겠다.)

django-admin startproject 프로젝트명 .
python manage.py startapp 앱이름

MySQL 설정

현재 장고에서 제공해주는 db는 sqlite이다.
하지만 우리는 mysql로 사용할 것이기 때문에 이를 이용한다.

일단 mysql에 접속한다 (편한 방법으로 접속 가능)

  1. window + r > cmd > mysql -u root -p > 패스워드 입력
  2. 검색에 mysql 버전 command line client 에 들어가서 패스워드 입력
    => 2개다 동일하니 편하게 하면 된다.

접속한 후 데이터베이스를 생성한다.

우리는 온라인 쇼핑몰을 만들거기 때문에 onlineshop_db로 지정해주겠다.
대소문자 구분을 따로 하지 않으니 편하게 소문자로 쓰겠다.

create database onlineshop_db default character set utf8;

생성이 잘 되었는지 확인하자.

show databases;

이렇게 onlineshop_db가 보인다면 성공!

이 db를 관리할 계정을 생성하자.

create user '계정이름'@localhost identified by '비밀번호';
이렇게 만들어진 계정은 아직 권한이 없다.

방금 만든 계정에 권한을 부여하자

grant all privileges on onlineshop_db.*to'계정이름'@'localhost';
만약 실전이었다면 all로 주지 않겠지만 지금은 연습이므로 모든 권한을 주겠다.

flush privileges;
부여한 것에 대한 적용이 필요하다.

이제 직접 계정에 들어가보자

mysql -u '계정이름' -p
이렇게 까지 확인이 된다면 설정은 끝이난다.


pycharm 에서 db 연결

config/settings.py

from config import mysettings

DATABASES = mysettings.DATABASES

config/mysettings.py

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'onlineshop_db',
        'USER' : 'kimjy01',
        'PASSWORD': '비밀이다 안알려줄것이다.',
        'HOST':'localhost',
        'PORT': '3308' #필자는 이미 사용하고 있는 포트가 있어서 3308이다. 처음하는 사람은 3306으로 하자.
    }
}

mysql 파이썬 드라이버 설치

pip install mysqlclient

원래 pymysql이라는 친구도 있지만 보안이나 뭐 이런것들로 인해서 mysqlclient를 사용한다.

데이터베이스 초기화 작업

python manage.py makemigrations
python manage.py migrate

관리자 계정 생성

python manage.py createsuperuser

이렇게 하면 기본적인 세팅은 끝났다.
다음에는 이걸 사용한 onlineshop을 만들 예정이다.

profile
천천히 꾸준히 하는 블로그

0개의 댓글