▣ mysql 백업 4가지 방법
1. Data 디렉토리 백업
- Data 디렉토리를 정기적으로 백업하고 문제 발생했을 때 덮어쓰면 된다.
2. mysqldump 를 사용하는 방법
- 백업 시에 데이터베이스에 락을 걸수 없어 변경이 발생하면 다시 백업해야한다.
3. mysqlhotcopy 를 사용하는 방법
- mysql 백업 방법 중 속도가 바르며 DB 디렉토리를 다른 위치에 Copy 한다.
- Myl 및 ARCHIVE 테이블만 Hotbackup을 지원 한다. ( innoDB 지원하지 않는다. )
4. xtraback 을 사용하는 방법
- mysql 서버 중단하지 않고 InnoDB를 핫백업할 수 있다.
- InnoDB Hot Backup은 핫백업을 지원하나 상용이나 xtraback 은 무료로 사용이 가능.
※ Hot Backup : DB 서버가 온라인 상태에서 DB를 백업 하는 것
Cold Backup : DB 서버를 중단시키고 백업하는 방법
■ mysqldump 사용하는 방법
전체 데이터베이스 또는 특정 데이터베이스를 백업하거나 특정테이블만 백업 할 수 있다.
▷ 전체 데이터베이스 백업
- 서버의 전체 데이터베이스를 alldatabase.sql로 백업한다.
▷ 특정 데이터베이스 백업
- test 데이터베이스만 백업한다.
▷ 특정 테이블만 백업
- test 데이터베이스의 board 테이블만 백업 한다.
※ 특정 데이타베이스의 테이블생성(schema) 정보만 백업하는 방법
- mysqldump-? 명령어로 여러 옵션을 확인 할 수 있다.
▷ InnoDB에서 트리거 , 프로시져, 함수 포함하여 백업하기
- 트리거는 default값으로 백업이 실행되나 저장 프로시져는 백업되지 않는다.
- 저장 프로시져가 백업되게 하기 위해서는 옵션에 --routines 을 넣어줘야 한다.
mysqldump -u계정 -p비밀번호 --routines 특정DB명 > 함수프로시져트리거.sql
(예) mysqldump -uroot -ppassword --routines northwind > northwind.sql
※ 트리거 , 프로시져, 함수 만 백업하기 - 쿼리문만
mysqldump -u계정 -p비밀번호 --routines --no-create-info --no-data --no-create-db --skip-opt 특정DB명 > 함수프로시져트리거.sql
(예) mysqldump -uroot -ppassword --routines --no-create-info --no-data --no-create-db --skip-opt northwind > northwind_only_sp_trigger_function.sql
이렇게 트리커 프로시져 함수만 백업한 경우는 반드시 Data와 테이블 스키마를 별도로 백업 받아 줘야 합니다
■ 일정 시간마다 자동 백업
- 데이타베이스 백업은 아무리 강조해도 지나치지 않다. 그러나 잊어버리지 않고 사람이 하기엔 너무 귀찮다. 정기적으로 자동으로 실행되게 하려면 리눅스에서는 Shell 프로그램을 작성하여 cron에 등록시키면 된다.
▷ 백업할 디렉토리 만들기
▷ 백업 디렉토리 권한 주기
▷ shell 프로그램 작성
# 백업 위치를 /backup 아래로 정한다.
# 백업 시간을 년-월-일 형식으로 지정한다.
DATE=`date +"%Y%m%d%H%M%S"`
# 사용자 계정과 비밀번호
USERNAME="MySQL계정"
PASSWORD="비밀번호"
# 백업할 데이타베이스
DATABASE="test"
# 백업 작업
mysqldump -u$USERNAME -p$PASSWORD $DATABASE > /backup/mysql_db_bak_${DATE}.sql
※ USERNAME, PASSWORD, DATABASE 다음(=)은 꼭 붙여쓴다
- 실행권한 부여
▷ cron 만들기 - 일정한 시간에 실행 되게 한다.
- 04시 30분에 자동으로 실행하게 설정
▷ 크론 데몬 재실행
▷ 시스템 시작 시 스크립트 실행되도록 한다.
- 아래와 같이 입력하고 저장한다.
'MySQL > 백업및복구' 카테고리의 다른 글
저장 프로시등 복원 할 때 주석 표시 하게 하기 (0) | 2016.03.04 |
---|---|
mysql 덤프백업파일 복구 하기 (0) | 2014.02.26 |