테스트 사이트 - 개발 중인 베타 버전입니다

대용량 InnoDB백업을 위한 솔루션을 찾다가 발견한 솔루션 입니다.

· 12년 전 · 4381 · 1

대용량 InnoDB백업을 위한 솔루션을 찾다가 발견한 솔루션 입니다.
아직 테스트가 안되서 뭐라고 직접 사용기를 올리기는 좀 그렇고
http://www.percona.com/docs/wiki/percona-xtrabackup:xtrabackup:how_to_recipes
위 페이지 기준으로 간략하게 사용법을 만들어 봤습니다.

영어실력이 미천한지라 잘못 해석된 부분이 있을 수 있으니 이점 참고 하시고
좋은 솔루션 인것은 확실한것 같으니 이 솔루션에 대해서 필요하신분은 써 보시고
테스트 해서 결과를 도출 해 보고 싶네요 ㅎ


* Percona XtraBackup 사용법

# Full Backup

    1. my.cnf 설정
      [mysqld]
      datadir=/var/lib/mysql/            => MySql 데이터 디렉토리
     
      [xtrabackup]
      target_dir=/data/baclup/mysql/    => 백업 데이터 디렉토리

    2. 백업 방법
        - xtrabackup --backup            => my.cnf 설정대로 백업
        - xtrabackup --prepare            => 복원을 위한 준비
        - xtrabackup --prepare            => 새로운 innoDB 로그파일 생성을 위해 다시한번 실행
   
    3. 백업의 성공기준
        - xtrabackup 의 종료 상태값이 0 인경우.
        - 두번째 '--prepare'시 로그파일이 생성된뒤 이어서 "Log file ./ib_logfile0 did not exist: new to be created" 와 같은
           메시지를 확인 해야함.
   
    4. 서버에 충분한 메모리가 있다면 '--use-memmory' 옵션을 통해서 버퍼풀을 지정할 수 있다.

 


# Incremental Backup

    ※ 증분백업을 위서는 '--prepare'가 실행되기전 Full 백업이 필요하다.

    1. 백업 방법(월요일에 Full Backup이 실행 되었다고 가정)
        - 명령어
            # xtrabackup --backup --target-dir=/data/backups/inc/tue/ \        => 화요일 증분 백업
                     --incremental-basedir=/data/backups/mysql/
           
            # xtrabackup --backup --target-dir=/data/backups/inc/wed/ \        => 수요일 증분 백업
                     --incremental-dir=/data/backups/inc/wed/

    2. Prepare
        - 명령어
            # xtrabackup --prepare --apply-log-only --target-dir=/data/backups/mysql/        => 월요일 기준 데이터로 복원 준비
 
            # xtrabackup --prepare --apply-log-only --target-dir=/data/backups/mysql/ \        => 화요일 기준 데이터로 복원 준비
                 --incremental-dir=/data/backups/inc/tue/
           
            # xtrabackup --prepare --apply-log-only --target-dir=/data/backups/mysql/ \        => 수요일 기준 데이터로 복원 준비
                 --incremental-dir=/data/backups/inc/tue/

 

# Restoring the Backup
   
    ※ xtrabackup 은 MyISAM 파일을 복사하지 않기때문에 '.frm' 파일들과 나머지 데이터베이스 파일들은 따로 백업을 해야 한다.
    
    1. 복원
        - InnoDB 복원은 간단하다 Preparing 후 아래와 같은방법으로 복원할 수 있다.
            # cd /data/backups/mysql
            # rsync -rvt --exclude 'xtrabackup_checkpoints' --exclude 'xtrabackup_logfile' \
                     ./ /var/lib/mysql
            # chown -R mysql:mysql /var/lib/mysql/

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 1개

잘봤습니다-

게시글 목록

번호 제목
20097
20095
20093
20092
20091
20089
20086
20085
20084
20083
20082
28358
20081
20079
20078
20077
20076
20075
20074
20073
20072
20071
20070
20069
8148
20057
8141
24669
20056
8138
28353
20055
20054
20053
20052
20051
20050
20047
20046
20045
20044
8111
20043
20042
20040
20039
20037
20036
20035
20027
8107
31022
20026
20025
20024
20023
28350
20022
20018
20017
8099
20016
20013
8090
20012
20010
20009
19998
28348
28347
19997
19996
19995
19993
8087
8065
19990
8063
8056
19989
19988
19987
19986
19985
19984
19983
19982
8054
19981
19980
19979
19978
19977
19976
19975
19974
19973
19972
19971
19970