본문 바로가기

Web Progreming

[ MySQL ] 덤프(dump) ,복원(Restore)

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 : 사용자명 지정


출처 : http://xyunsikx.tistory.com/11