2009년 8월 11일 화요일

MySQL 백업2

mysqlhotcopy를 이용한 백업

mysqlhotcopy는 MyISAM, ARCHIVE테이블에서만 동작하는 Perl로 기술된 스크립트이다.
테이블에 록을 걸고 데이터를 복사한다.
사용하려면 DBD-mysql을 인스톨해야한다. mysqlhotcopy는 my.cnf의 [mysqlhotcopy]그룹과 [client]그룹을 읽어들인다.

사용방법은 다음과 같다.

mysqlhotcopy [옵션]
데이터베이스명[./정규표현/] [데이터베이스명[./정규표현/] ...]
[백업위치 데이터베이스명| 백업위치 디렉토리]

데이터베이스명./정규표현/은 테이블명을 지정하고 싶은 경우 사용한다. /정규표현/에는 테이블명을 선택하기 위한 패턴을 기술한다.

마지막 인수는 백업작성 장소이다 데이터베이스명이나 디렉토리명이나 상관없다. 디렉토리명인경우는 그이름에 [/]이나 [.]가 포함되게 해야한다.

백업위치 데이터베이스명을 생략한 경우에는 [데이터베이스명_copy]이라는 데이터베이스가 백업 데이터베이스 이름이 된다.

1. test데이터베이스를 test_copy데이터베이스에 백업
root@shell# mysqlhotcopy -u root test

2. test데이터베이스를 test_back데이터베이스로 백업
root@shell# mysqlhotcopy -u root test test_back

3. test데이터베이스를 /backup/10/test디렉토리로 백업
root@shell# mysqlhotcopy -u root test /backup/10/test