본문 바로가기

개발일지

Error: ER_BAD_DB_ERROR: Unknown database 'db-name'

한동안 프론트 공부를 하다가 3달만에 백엔드를 과제를 받아서 했더니 localhost는 잘 연결되는데, rds가 연결되지 않는 불상사가 일어났다. 오랜만이라 기억이고 뭐고 없는 상황. 구글링을 하다보니 다행히 나와 같은 사람을 만났다.

 

1. handshake timeout

아예 rds 자체와 연결이 시작되지 않는 경우.

알고보니 rds의 퍼블릭 엑세스 설정을 아니오로 둔 상태에서 rds를 만들어서 그런 것이었다. 그것도 모르고 계속 inbound 규칙을 바꿔야하나, 새 프로젝트의 코드가 문제인가 콘솔까지 찍어가며 삽질을 했다. 아마 rds는 ec2에 연결해서 쓰는 것이 보통이고 프로덕션 단계에서는 localhost로 작업하기 때문에 기본 설정이 '아니오'로 되어있는 모양이다.

다음에 새로 만들 일이 있으면 주의해서 만들자!

 

2. Error: ER_BAD_DB_ERROR: Unknown database 'db-name'

env에 설정한 DB_NAME이 문제였다. 내 기억속에는 rds의 DB 식별자를 뜻하는 것이었는데, 이놈의 기억력이 문제다. 알고보니 rds 생성 시 기본 db명을 설정할 수 있고 그것을 뺴먹었기에 생긴 문제였다.

구글링 중 aws 공식 사이트에 누군가 질문한 내용이 날 구했다. 

로컬 mySQL에서 연결을 한 뒤에

CREATE DATABASE 데이터베이스명

이 쿼리로 스키마를 생성한 뒤에 이 데이터베이스명을 DB_NAME에 설정해줘야 했다. rds는 프로젝트 시작할 때나 끝날 때 한번만 연결하는 경우가 대부분이고 다른 분의 환경변수를 그대로 들고오다보니 스스로 설정한 것은 몇개월 전의 일이다. 기억이 안날만도 하지만 다시 이런 실수를 하지 않기 위해 기록으로 남긴다.