AWS RDS에 MySQL 로컬DB 덤프 적용하기
게시:
프로젝트 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: 커맨드를 잘 보면 부등호의 방향이 다르다. 부등호는 덤프파일을 적용할 방향을 나타낸다.
댓글남기기