aws rds에서 호스팅 중인 데이터베이스 인스턴스를 dump해서 local에 직접 설치한 mysql로 옮기려고 한다. AWS 공식문서 를 참고해도 되지만 나 같은 경우에는 너무 간단한 디비라서 스택오버플로우를 참고했다.
sudo apt update
sudo apt install mysql-server
sudo mysql_secure_installation
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에 root로 접속하자 sudo mysql -u root
를 입력하면 MariaDB 콘솔창이 뜬다.
MariaDB 콘솔에서 CREATE USER {유저이름}@'localhost' IDENTIFIED BY '{비밀번호}';
를 입력한다.
이제 데이터베이스를 생성하자.
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 {테이블이름};
데이터들이 잘 출력되는 것을 확인할 수 있다.