메뉴 건너뛰기

XEDITION

DB

mysql MySQL 덤프(dump) 그리고 복원(Restore)

하서기 2016.11.17 18:56 조회 수 : 1925

1. DB 서버를 이전 혹은 백업을 위해 Dump가 필요하다. 
    방법은 간단하다.

2. DB명으로 덤프 받기 

# /usr/local/mysql/bin/mysqldump –u 계정 –p DB명 > 생성덤프파일명.sql 

- 생성덤프파일명으로 파일이 생성되었다면 성공!

 

3. 특정 테이블만 덤프 받기

# /usr/local/mysql/bin/mysqldump -u root -p db명 table명 > db명.table명.sql

 

4. 스키마 정보만 덤프 받기 

// DB명 안에 모든 schema
# /usr/local/mysql/mysqldump -u root -p -d db명 > db명_schema.sql
// DB명 안에 모든 특정 table schema
# /usr/local/mysql/mysqldump -u root -p -d db명 table명 > db명_table명_schema.sql    

 

5. 받은 덤프 파일로 복원 할 때에는?

# /usr/local/mysql/bin/mysql -u root -p DB명 < 덤프파일.sql

 

6. mysqldump 명령의 기본 사용법을 정리해 보면 

mysqldump [옵션] db명 [table명] > 백업파일 
mysqldump [옵션] –databases [옵션] db명1, db명2, …. > 백업파일 
mysqldump [옵션] –all-databases [옵션] > 백업파일

 

7. mysqldump 기타 옵션들 

-A, –all-databases : 모든 DB를 덤프 
–add-locks : 덤프 전에 lock 덤프 후에 unlock 
–add-drop-table : 덤프 이후에 출력물의 앞에 drop table명령 추가 ( 복구할때 삭제하고 insert하겠죠? )
-B, –databases : 여러 DB를 동시에 덤프 할 때 사용 
-f, –force : 에러를 무시 
-h, –host : 지정한 호스트의 데이터를 덤프 
-t : data만 덤프 
-d : 데이터를 제외하고 스키마만 덤프 
-p : 사용자의 암호를 지정 
-P : 포트번호 지정 
-u : 사용자명 지정

위로