MYSQL
HOME > DB > MYSQL
2019.02.11 / 13:17

MySQL backup & restore - 백업 및 복구

hanulbit
추천 수 42
MySQL에서 원하는 database를 백업하고 백업된 파일을 다시 복원시키는 방법이다.
직접 해보면 간단하지만 막상 닥쳐서 할 때는 잘 기억이 나질 않아서 이렇게 정리해본다.

##. Backup
1. mysql 로그인
  mysql -u root -p 엔터
  암호를 입력하고 로그인 완료

2. 전체 databases 목록 확인 (여기에서 백업하고자 하는 database의 이름을 확인해 둔다. 여기에선 backupdb라는 이름의 database를 백업하는 것으로 한다.)
  show databases;

3. mysql 로그아웃
  quit 또는 exit를 입력

4. 명령프롬프트에서 백업 명령을 실행
  mysqldump -u root -p backupdb > backupdb.sql 엔터
  암호를 입력하고 백업 완료

##. Restore
1. mysql 로그인
  mysql -u root -p 엔터
  암호를 입력하고 로그인 완료

2. 전체 databases 목록 확인 (여기에서 복원시키려는 database의 이름이 있는지 확인해 둔다. 여기에선 복원하려는 backupdb라는 이름의 database가 없는 것으로 가정한다.)
  show databases;

2. From windows (mysql 5.5.28) To linux (mysql 5.5.33)
  mysql 5.1 이라 된 건지 같은 윈도우에서 backup/restore를 했기 때문에 된 건지 잘 모르겠지만 restore 하려는 database를 미   리 생성해 두어야 복원이 되었다.
  미리 생성하지 않으면 이런 에러 메시지를 뱉는다. $ ERROR 1049 (42000): Unknown database 'backupdb'

  그러니 복원하려는 database 이름과 같게 미리 만들어 주자.
  create database backupdb;

3. mysql 로그아웃
  quit 또는 exit를 입력

4. 명령프롬프트에서 복원 명령을 실행(명령프롬프트의 위치는 복원할 'backupdb.sql' 파일이 있는 곳이다.)
  mysql -u root -p backupdb < backupdb.sql 엔터
  암호를 입력하고 복원 완료

5. mysql 로그인
  mysql -u root -p 엔터
  암호를 입력하고 로그인 완료

6. 복원한 database를 확인
  use backupdb;

7. 어떤 table들이 있는지 확인
  show tables;

위 내용은 Server version: 5.1.48-community MySQL Community Server (GPL)에서 테스트 했을 때 문제없이 동작했음.
윈도우 x64: MySQL Community Server (GPL) 5.5.28 에서 백업하고 linux (CentOS 6.4 x64): MySQL Community Server (GPL) 5.5.33 에서 복원함.