[comment]
가상 머신에서 테스트 실시 (Mac + Parallels(CPU 1, 메모리 1G, CentOS6.6 + MySQL 5.5)
dump 파일 약 1.1G를 DB에 import하는 경우 about 2분 38초 소요, DB를 export하는데 about 2분 소요
Xtrabackup을 이용한 백업 및 복원 각각 약 10~20초 소요
백업시간이나 복원 시간도 매우 우수
업무에 참고 바랍니다.
[설치]
## repository 추가 ##
[root@localhost ~]# rpm -Uhv http://www.percona.com/downloads/percona-release/percona-release-0.0-1.x86_64.rpm
## install ##
[root@localhost ~]# yum install xtrabackup
## 백업 디렉토리 생성 ##
[root@localhost ~]# mkdir /home/mysqlbackup/
[백업]
## timestamp 사용 ##
## timestamp 사용 ##
[root@localhost ~]# /usr/bin/innobackupex --user 사용자아이디 --password 비밀번호 /home/mysqlbackup
## 백업 확인 ##
[root@localhost ~]# ls -al /home/mysqlbackup/
합계 12
drwxr-xr-x 3 root root 4096 2015-01-14 23:14 .
drwxr-xr-x. 5 root root 4096 2015-01-14 23:12 ..
drwxr-xr-x 6 root root 4096 2015-01-14 23:14 2015-01-14_23-14-48
## 백업 (timestamp를 사용하지 않고 명시적으로 파일명 부여) ##
[root@localhost ~]# /usr/bin/innobackupex --user 사용자아이디 --password 비밀번호 --no-timestamp /home/mysqlbackup/full_backup
## 백업된 log sequence number (LSN) 확인 ##
[root@localhost ~]# cat /home/mysqlbackup/full_backup/xtrabackup_checkpoints
backup_type = full-backuped
from_lsn = 0
to_lsn = 1605114
last_lsn = 1605114
compact = 0
## 증분백업 (1차) ##
[root@localhost ~]# /usr/bin/innobackupex --user 사용자아이디 --password 비밀번호 --incremental --incremental-lsn=1605114 --no-timestamp /home/mysqlbackup/incremental_1606114
[root@localhost mysqlbackup]# cat /home/mysqlbackup/incremental_1606114/xtrabackup_checkpoints
backup_type = incremental
from_lsn = 1605114
to_lsn = 1622319
last_lsn = 1622319
compact = 0
## 증분백업 (2차) ##
[root@localhost ~]# /usr/bin/innobackupex --user 사용자아이디 --password 비밀번호 --incremental --incremental-lsn=1622319 --no-timestamp /home/mysqlbackup/incremental_1622319
[복원]
/* 전체 백업한 것을 복원
* 증분까지 복원하고 싶으면, 전체백업과 증분을 합한후 복원
* 복원하는 경우 당연히 mysql 중지 및 만약을 위해 my.cnf의 datadir을 변경하여 복원
*/
## mysql중지 ##
[root@localhost ~]# service mysqld stop
[root@localhost ~]# service mysqld stop
[root@localhost ~]# mkdir /var/lib/mysql_restore
## my.cnf 수정 ##
[mysqld]
datadir=/var/lib/mysql_restore
## 전체백업 복원 ##
[root@localhost ~]# /usr/bin/innobackupex --apply-log /home/mysqlbackup/full_backup
[root@localhost ~]# /usr/bin/innobackupex --copy-back /home/mysqlbackup/full_backup
## 전체백업 확인 (복원된 디렉토리의 권한 확인 할것) ##
[root@localhost ~]# service mysqld start
## 증분백업 복원 ##
/* 전체 백업과 증북 합치기위 전체 백업을 --redo-ony 적용 */
[root@localhost ~]# /usr/bin/innobackupex --apply-log --redo-only /home/mysqlbackup/full_backup
## 증분한 순서대로 합치기 ##
# 합치면 전체 백업에 증분 백업이 포함된다. (증분 백업 파일은 필요 없다)
[root@localhost ~]# /usr/bin/innobackupex --apply-log --redo-only /home/mysqlbackup/full_backup -incremental-dir /home/mysqlbackup/incremental_1606114
[root@localhost ~]# /usr/bin/innobackupex --apply-log --redo-only /home/mysqlbackup/full_backup -incremental-dir /home/mysqlbackup/incremental_1622319
## 합친 전체 백업 LSN 확인 ##
[root@localhost mysql_restore]# cat /home/mysqlbackup/full_backup/xtrabackup_checkpoints
backup_type = full-prepared
from_lsn = 0
to_lsn = 1628142
last_lsn = 1628142
compact = 0
## 전체 백업 복원과 동일 ##
댓글 없음:
댓글 쓰기