게시:

프로젝트 EC2 배포 과정에서 로컬에서 만든 Mock 데이터를 RDS에서 사용해야 하는 경우가 있었다. 이 경우 로컬 DB를 Export하여 RDS의 MySQL에 적용하면 같은 데이터를 RDS에서 그대로 사용할 수 있다. Mock data를 다시 만드는 방법도 있지만 개인적으로 보다 기존 Data를 Dump해서 사용하는 편이 훨씬 편리하다고 본다.

전제조건: AWS RDS 데이터베이스 인스턴스 사전 생성 완료

1. DB Dump

SHOW DATABASES 커맨드로 내보내기할 DB명을 확인하여 다음 커맨드로 DB Export한다. 아래 커맨드를 실행하면 해당 위치에 database_name.sql파일이 생성된다.

$ mysqldump -u {user_name} -p {database_name} > {database_name}.sql

2. DB Create

MySQL 커맨드를 통해서 RDS Database에 접속한 뒤 업로드할 DB를 미리 만든다. RDS 호스트 네임은 RDS 콘솔에서 ‘엔드포인트’라는 이름으로 확인할 수 있다.

# UTF8 MB4 기준
$ mysql -h {host_name} -u {user_name} -p
$ CREATE DATABASE {db_name} character set utf8mb4 collate utf8mb4_general_ci; 

Note: 호스트 접속에 실패할 경우 RDS 보안 그룹 인바운드 설정이 제대로 되어 있는지 확인한다.

3. DB 적용

MySQL 커맨드를 통해서 RDS DB에 미리 Export한 DB를 업로드한다.

$ mysql -h {host_name} -u {user_name} -p {database_name} < {database_name}.sql

Note: 커맨드를 잘 보면 부등호의 방향이 다르다. 부등호는 덤프파일을 적용할 방향을 나타낸다.

댓글남기기