MySQL

[MySQL] mysqldump 명령어로 데이터베이스 백업(dump)하기

깃짱 2023. 10. 24. 17:00
반응형

 

💋 인트로

기존 EC2의 MySQL에서 사용중이던 데이터를 모두 신규 EC2의 MySQL로 옮겨야 하는 일이 발생했다.

 

기존 EC2 MySQL stampcrush 데이터베이스신규 EC2 MySQL stampcrush 데이터베이스

 

💋 mysqldump 명령어

✔️ 기존 데이터베이스의 정보 백업해서 덤프파일 생성

 

기존 MySQL이 설치된 EC2에 접속할 수 있는 위치로 이동한다.

나는 기존 MySQL에 외부 접속이 가능한 EC2로 이동했다. 이 경우에는 별도로 -h 명령어를 통해서 MySQL이 설치되어 있는 EC2의 IP까지 명시해야 한다.

 

mysqldump -h 192.168.X.XXX -u root -p stampcrush > stamp_crush_dump.sql

 

  • 192.168.X.XXX: MySQL이 설치된 EC2의 IP
  • root: 접속하는 계정
  • stampcrush: 백업하려는 데이터베이스
  • stamp_crush_dump.sql: 백업할 파일 이름

 

 

현재 위치에 stamp_crush_dump.sql가 생긴 것을 확인할 수 있다.

 

아래 명령어를 통해서 덤프파일에 내용이 제대로 담겼는지 확인할 수 있다.

 

sudo cat stamp_crush_dump.sql

 

데이터가 막 쏟아져 내려올 텐데, 멈추려면 cmd + c

 

✔️ 덤프파일 통해서 MySQL 데이터 백업하기

 

MySQL이 설치된 신규 EC2에 접속할 수 있는 위치까지 scp 명령어를 통해서 앞서 생성한 덤프파일을 가져와야 한다. 나는 신규 MySQL에 접속하기 위해서 MySQL이 설치된 인스턴스로 이동했다.

 

아래 명령어를 통해서 신규 MySQL DB의 stampcrush라는 이름의 database로 stamp_crush_dump.sql에 담긴 데이터들을 옮길 수 있다.

 

mysql -uroot -p stampcrush < stamp_crush_dump.sql

 

실행이 끝났으면, 직접 mysql에 접속해 데이터들이 들어왔는지 확인해보자! 오예!

 

💋 참고자료

반응형