mysql의 데이터를 백업하는 명령어인 mysql dump에 대해서 알아보도록 하겠다.
이 명령어는 권한이 있는 계정을 필요로 하며, 패스워드는 -p 바로다음에 붙여서 작성
이 명령어는 권한이 있는 계정을 필요로 하며, 패스워드는 -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를 체크하고 백업을 실시한다.
--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 |