[DB] MySQL - mysqldump 명령어

|
mysql의 데이터를 백업하는 명령어인 mysql dump에 대해서 알아보도록 하겠다.

이 명령어는 권한이 있는 계정을 필요로 하며, 패스워드는 -p 바로다음에 붙여서 작성


백업

* 모든 데이터베이스 백업
mysqldump -u root -p[pw] --all-database > 파일명


* 특정 디비 백업
mysqldump -u root -p[pw] [디비명] > 파일명


* 특정 디비의 특정 테이블 스키마 백업하기 (-d 와 --no-data 같음)
mysqldump -u root -p[pw] --no-data [디비명]  [테이블명] > 파일명


* 특정 디비의 특정 테이블 데이터만 백업하기 (-t 와 --no-create-info 같음)
mysqldump -u root -p[pw] --no-create-info [디비명]  [테이블명] > 파일명


* 특정 조건에 알맞는 데이터만 백업하기 
mysqldump -u root -p[pw] [디비명]  [테이블명] -w "조건 ex)id=5" > 파일명


* 특정 외부서버 백업하기
mysqldump  -h [아이피 및 도메인] -u root -p[pw] [디비명]  [테이블명] > 파일명



복구

mysql -u root -p[pw] 디비명 < 파일명

* 만약 table을 drop해서 아무것도 없는 상태일 경우 먼저 디비를 생성하고 복구를 실시한다
mysqladmin -u root -p[pw] create 디비명

mysql -u root -p[pw] 디비명 < 파일명

 

그 외의 옵션

-f  //덤프 수행 중 에러가 있어도 진행

--default-character-set=euckr //character set 지정

--add-locks //덤프 실시전에 테이블에 락을 걸고 덤프 실시

--compatible //호환 가능 옵션을 설정

* MySQL 5.1에서 dump를 수행한 파일을 5.0버전에서 복구하려 하면 BTREE 인덱스 관련하여 에러가 발생한다.

  정확한 원인은 알 수 없지만 이를 해결하기 위해서는 위에 명시한 --compatible=no_key_options 와 같은 값을 설정하면 된다.
 
  혹은 GUI가 설치되어 있다면 Administrator 메뉴에서 백업시에 Advanced Option에서 Compatibility mode를 체크하고 백업을 실시한다. 

'DB' 카테고리의 다른 글

[DB] MySQL - 권한 할당 및 해제[GRANT/REVOKE]  (0) 2011.06.07
[DB] Oracle - INDEX 에서의 PCTFREE와 PCTUSED  (0) 2011.04.26
[DB] Oracle - Bitmap INDEX  (0) 2011.04.24
[DB] Oracle - B tree INDEX  (1) 2011.04.21
[DB] MySQL - InnoDB와 MyISAM  (0) 2010.12.01
And