AWS RDS dump하기

노력을 즐겼던 사람·2020년 9월 16일
0
post-custom-banner

aws rds에서 호스팅 중인 데이터베이스 인스턴스를 dump해서 local에 직접 설치한 mysql로 옮기려고 한다. AWS 공식문서 를 참고해도 되지만 나 같은 경우에는 너무 간단한 디비라서 스택오버플로우를 참고했다.

ubuntu 18.04 mysql 설치하기

sudo apt update
sudo apt install mysql-server
sudo mysql_secure_installation

RDS 데이터베이스 dump하기

mysql 혹은 mariadb가 설치되어 있는 ubuntu에서 다음 커맨드를 입력한다.
mysqldump -h rds.host.name -u remote_user_name -p remote_db > dump.sql

나 같은 경우에는 mysqldump -h hnu-pioneer.cwbiwxsjbu5c.ap-northeast-2.rds.amazonaws.com -u prayme -p hnu_pioneer > dump.sql 이렇게 입력했다. (해당 RDS 주소는 더 이상 호스팅하지 않습니다)

그 후 로컬 디비로 옮기기 위해 mysql -u local_user_name -p local_db < dump.sql 를 입력해야한다. 나 같은 경우에는 mysql -u prayme -p hnu_pioneer < dump.sql 을 입력했다.

로컬 데이터베이스에 dump를 하기 전에 로컬 데이터베이스에 유저와 데이터베이스를 추가해야한다.

MariaDB 유저 추가하기

일단 MariaDB에 root로 접속하자 sudo mysql -u root 를 입력하면 MariaDB 콘솔창이 뜬다.

MariaDB 콘솔에서 CREATE USER {유저이름}@'localhost' IDENTIFIED BY '{비밀번호}'; 를 입력한다.
이제 데이터베이스를 생성하자.

MariaDB 데이터베이스 생성하기

MariaDB 콘솔에서 다음과 같이 입력하자 CREATE DATABASE {디비이름}; 을 입력하고 show databases; 를 입력하면 방금 생성한 디비이름이 출력될 것 이다.

유저 권한 부여하기

방금 생성한 데이터베이스에 대한 모든 권한을 유저에게 부여한다. GRANT ALL PRIVILEGES ON {디비이름}.* to '{유저이름}'@localhost; 를 입력한다.

이제 비로소 로컬 데이터베이스로 dump를 할 수 있다. 위에서 말한 mysql -u local_user_name -p local_db < dump.sql 를 입력하고 데이터들이 잘 복제 되었는지 다음 명령어로 확인해보자

mysql -u {유저이름} -p
use {디비이름};
select * from {테이블이름};

데이터들이 잘 출력되는 것을 확인할 수 있다.

profile
노력하는 자는 즐기는 자를 이길 수 없다 를 알면서도 게으름에 지는 중
post-custom-banner

0개의 댓글