티스토리 뷰

내용 순서

  1. 상황
  2. 기존 DB에서 백업 파일 생성
  3. 새 DB가 있는 서버로 파일 전송
  4. 새 DB로 백업 파일 복원

1. 상황

기존에 A라는 서버에서 데이터베이스를 실행했지만, 이제는 B라는 서버를 새로 생성하여 이곳에서 데이터베이스를 실행하려고 합니다. 이미 저장된 데이터들을 날려버릴 순 없으므로, A 서버에서 B 서버로 옮겨 보겠습니다.

 

 

 

2. 기존 DB에서 백업 파일 생성

mysqldump -u [사용자명] -p [데이터베이스명] > [백업파일명].sql

 

기존 서버에 접속한 후, 위 명령어를 사용해 데이터를 dump 떠줍니다.

 

mysqldump 결과

 

저는 travline 데이터베이스와 traveline_dev 데이터베이스, 2개를 백업했습니다.

 

 

 

3. 새 DB가 있는 서버로 백업 파일 전송

scp [옵션] [파일명] [유저명]@[목적지IP]:[저장 경로]

 

scp를 사용해 기존 DB에서 새 DB로 백업 파일을 옮깁니다.

 

(좌) scp 실행, (우) 새 DB에서 전송받은 파일 확인

 

scp로 전송 보낸 파일을 새 서버에서 확인했습니다. 잘 전송됐군요!

 

 

4. 새 DB로 백업 파일 복원

mysql -u [사용자명] -p [데이터베이스명] < [백업파일명].sql

 

새 DB가 있는 서버로 접속한 후, 위 명령어를 실행합니다.

단, [데이터베이스명]이 먼저 MySQL에 생성되어 있어야 해당 명령어가 동작합니다!

 

백업 복원

 

2개의 백업 파일을 복원했습니다. MySQL에 접속해서 데이터를 확인해 보면 정상적으로 복원됐음을 알 수 있습니다.

 

 

 

5. 마무리

간단하지만, 유용합니다

주기적으로 mysqldump로 백업을 해두면, 데이터베이스에 문제가 생겨도 데이터는 걱정할 필요 없을 것 같습니다 :)

 

728x90