Docker 기반 로컬 데이터베이스 설정
Heroku 기반 원격 데이터베이스 설정
version: "3.5"
services:
db:
container_name: wisestudy_mysql_local
image: mysql:5.7
command: --default-authentication-plugin=mysql_native_password --character-set-server=utf8 --collation-server=utf8_unicode_ci
restart: always
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: admin
MYSQL_DATABASE: {DATABASE}
MYSQL_USER: {DATABASE_USER_NAME}
MYSQL_PASSWORD: {DATABASE_USER_PASSWOD}
TZ: Asia/Seoul
adminer:
container_name: wisestudy_mysql_adminer
image: adminer
restart: always
ports:
- 8088:8080
docker-compose -f {DOCKER_COMPOSE_FILE_NAME} up -d
docker ps -a
up ...
으로 출력되면 정상 실행Test Connection
확인Heroku App 생성은 생략하겠습니다.
Resources > Add-ons > ClearDB MySQL
검색 후 클릭하여 적용Plan name
은 Ignite로 설정해야 무료로 사용가능 합니다.$ heroku config | grep CLEARDB_DATABASE_URL
mysql://{USERNAME}:{PASSWORD}@{MYSQL_DB_URL}/{DATABASE}?{CONNECTION_OPTION}
에 맞추어 분리하여 사용Test Connection
확인저는 웹 서버와 DB 서버를 별도로 운용하기 위해 별도에 앱을 두었습니다.
앱이 여러개인 경우--app
옵션을 통해 확인할 수 있습니다.$ heroku config --app {APP_NAME} | grep CLEARDB_DATABASE_URL