인스턴스는 가상머신, 즉 가상으로 만든 서버 H/W 박사를 의미해요.
이제 AWS MySQL <--> Django를 연동해 볼게요.
그러기 위해선 드라이버 설치가 필요해요.
가상 환경을 실행한 이후 아래 명령어를 입력할게요.
pip install mysqlclient
참고! mysqlclient 설치 실패시
- 원인: Visual C++ 빌드 과정에서 에러 발생.
- 해결책: *.whl 패키지를 아래 사이트에서 다운하고 설치함.
- https:www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python 으로 접속
- mysqlclient-1.4.4-cp38-win_amd64.whl패키지를 선택해 다운로드 한 경우,
- pip install mysqlclient-1.4.4-cp38-win_amd64.whl
다른 방법으로는 mysqlclient 대신 pymysql 패키지를 이용하는 것이에요. 순수 파이썬 패키지이므로 빌드 에러가 발생하지 않아요.
프로젝트 설정 디렉토리안의 settings.py 파일로 가서 DATABASE 변수를 변동 할게요.
DATABSE = {
'default':{
'ENGINE':'django.db.backends.mysql',
'NAME': '데이터베이스 이름'
'USER': '인스턴스 생성시 입력한 마스터 사용자', #
'PASSWORD': '인스턴스 생서시 입력한 비번',
'HOST': '엔드포인트' #
'PORT': 3306, # 변동하지 않았다면 기본 3306입니다.
'OPTIONS':
'init_command': 'SET sql_mode='STRICT_TRANS_TABLES'",
}
}
STRICT_TRANS_TABLES 항목은 레코드 생성, 변경 시 컬럼 타입이나 데이터 길이 등을 정확하게 체크하여 데이터 일부가 잘리는 것을 방지하는 기능을 해요.(잘못 입력시 오료률 발생시킴)
아래 명령어로 디비에 환경 설정 사항등을 반영해줄게요. 기존 DB인 sqlite3의 테이블들은 초기화 되므로, SQLite3 DB에 있던 예전 데이터는 삭제되요.
python manage.py migrate
python manage.py runserver # 서버 구동 후 정상적으로 확인!