Ubuntu server 내의 django와 GCP SQL 을 연결해 주고자 하여, 설정하게 되었다.
# 설치
sudo apt install mysql-client-core-8.0
# 실행
mysql -h {공개 ip 주소} -u {계정명} -p
# mysql > 로 접속되는 것 확인 후, exit
GAE_APPLICATION
: GAE는 Googla App Engine Application을 줄인 말로, App Engine하고 연동했을 때(배포했을 때)는 if 절 조건을 수행하고, 반대로 개발 환경일 경우에는 else 절 조건을 수행
→ 개발환경과 배포환경의 설정을 다르게 하겠다는 뜻
if os.getenv('GAE_APPLICATION', None):
DATABASES = {
'default': {
'ENGINE' : 'django.db.backends.mysql',
'NAME' : '{DB명}',
'USER' : '{계정명}',
'PASSWORD' : '{비밀번호}',
'HOST' : 'cloudsql/{인스턴스이름}',
}
}
else:
DATABASES = {
'default':{
'ENGINE' : 'django.db.backends.mysql',
'NAME' : '{DB명}',
'USER' : '{계정명}',
'PASSWORD' : '{비밀번호}',
'HOST' : '{공개 IP}',
'PORT' : '3306',
}
}
python manage.py migrate
python manage.py runserver
중간에 계속 migrate가 되지 않고 오류가 났었는데, GCP SQL과 잘 연동되지 않아서였다.
공식 문서도 보고 tar파일 deb 등 깔아보고 했지만 안됐었는데, mysql-client를 꼭! 깔고 다른 작업들을 해 주어야한다는 점, 기억하기.