Percona의 XtraBackup 주소 : http://www.percona.com/software/percona-xtrabackup
한글 설치 및 사용 방법 : http://www.msjo.kr/100
현재 Linux Mint 사용 중이기 때문에 그냥 소프트웨어 관리자에서 다운받아도 되고 밑에서 처럼 apt-get install xtrabackup 받아도 됨.
___________________________________________________________________________________
MySQL(MariaDB) 을 사용하면서 관리차원에서 가장 불편한 것은 백업/복구 솔루션의 부재였다. 물론, dump 명령어를 사용할 수 있지만, 전체 내용을 SQL로 백업하고 SQL로 다시 입력하는 방법이어서 대용량 백업, 복구 그리고 차등 백업에는 실무에 사용하기 어렵다. 이런 단점을 극복할 수 있는 솔루션이 있는데 Percona XtraBackup이다. InnoDB, XtraDB 데이터베이스 엔진에서만 사용할 수 있다.
다운로드 및 설치
- Percona XtraBackup 홈페이지에서 해당 운영체제 설치 파일을 다운로드한다.
percona-xtrabackup-2.2.7-5050.el7.x86_64.rpm : CentOS 7 최신 파일(예) - 매뉴얼 다운로드 : DOWNLOAD MANUAL
- 저정소를 설정하여 Yum으로 설치하는 경우는 여기에서 해당 파일을 다운로드 하여 설치를 진행한다.
percona-release-0.0-1.x86_64.rpm : CentOS Yum 저장소 최신 파일 (예)yum install xtrabackup
설치되는 실행 파일 3가지, /usr/bin/
innobackupex : backup 스크립트 : 실제 사용하는 파일
xtrabackup : 바이너리, 실제 실행 파일 : innobackupex에 의해 실행 된다.
tar4ibd : 백업 파일을 tar로 저장할 때 사용
기본 사용법
아래와 같은 순서로 백업, 복구를 진행한다[1]. 자세한 내용은 해당 매뉴얼을 참고하자.
1. 백업디렉토리 생성
mkdir -p /mbackup/xtrabackup/
2. 데이타 백업
/usr/bin/innobackupex --user 유저 --password 패스워드 /mbackup/xtrabackup
/mbackup/xtrabackup/2014-12-19_12-34-56 와 같은 형태로 생성된다.
복원시 my.cnf 설정이 동일해야 하므로 my.cnf 도 백업 해두는 것이 좋다.
3. 로그 백업
/usr/bin/innobackupex --user 유저 --password 패스워드
--apply-log /mbackup/xtrabackup/2014-12-19_12-34-56
4. 복구, 데이타베이스를 중지 시키고 비어있는 data디렉토리에
/usr/bin/innobackupex --copy-back /mbackup/xtrabackup/2014-12-19_12-34-56
5. ib_logfile에서 사이즈 오류가 날경우 my.cnf 수정
vi /etc/my.cnf
innodb_log_file_size = XXX M
우분투에서 설치 및 사용
아래 내용은 http://ani2life.com/wp/?p=1290에서 참고 하였다. 여기에 작성하지 않은 증분 백업에 대한 내용도 상세히 설명되어 있다.
설치
$ sudo apt-get install xtrabackup
전체 백업
$ sudo innobackupex --user=DB사용자 --password=DB암호 /mbackup
위와 같이 백업할 경우 ‘/mbackup/날짜’로 저장된다.
백업디렉토리를 명시적으로 지정하고 싶다면 –no-timestamp 옵션을 추가한다.
$ sudo innobackupex --user=DB사용자 --password=DB암호 --no-timestamp /mbackup
복원 준비
복원하기 위해서는 백업이 진행되는 동안 생성된 MySQL의 로그를 적용시켜야 한다.
로그 적용은 –apply-log 옵션을 사용하면 된다.
$ sudo innobackupex --apply-log /mbackup
복원
복원 준비까지 마쳤다면 –copy-back 옵션으로 복원 할 수 있다.
복원은 백업 디렉토리를 MySQL 데이터 디렉토리에 복사하는 것과 동일하다.
때문에 MySQL의 동작을 중지시켜야 하며 데이터 디렉토리는 비어 있어야 한다.
우분투에서 MySQL의 기본 데이터 디렉토리는 /var/lib/mysql 이다.
$ sudo service mysql stop
$ sudo rm -rf /var/lib/mysql/*
$ sudo innobackupex --copy-back /mbackup
마지막으로 MySQL 데이터 디렉토리의 소유자와 그룹을 재설정하고 MySQL을 다시 시작한다.
$ sudo chown -R mysql:mysql /var/lib/mysql
$ sudo service mysql start
MySQL에서 (접속은 되지만 select가 안 될 경우)
mysqlcheck --all-databases
MariaDB의 경우도 MySQL처럼 사용하면 된다.
[출처 : http://blog.naver.com/bbh1988/220326197627 ]
'Academy I > Tech Academy' 카테고리의 다른 글
Performance, Cacti 그래프 생성 (0) | 2016.03.17 |
---|---|
Cacti에 Percona Plugin 설치 (0) | 2016.03.16 |
CentOS Cacti 설치 (0) | 2016.03.16 |
Percona XtraBackup 증분 백업 (0) | 2016.03.16 |
[Mysql/MariaDB] Percona Xtrabackup 백업/복원 (0) | 2016.03.16 |
인공지능 규범 이슈와 주요 내용 (0) | 2016.03.10 |
Openfire 설치 및 한글작업 (0) | 2016.03.04 |
Openfire Message Server install & RUN (With Spark) (0) | 2016.03.04 |