웹모아
웹모아[손님] 검색   로그인    


 
백업/기타
 


XtraBackup을 이용한 MySQL 백업 및 복구
  2019-08-04 06:43:01 댓글:(0)   조회:96



mysql 백업시 보통은 mysqldump를 사용합니다. 하지만 데이터가 커질수록 mysqldump로 백업한 데이터는 복구에 걸리는 시간이 길어집니다.

mysql 서버를 중단시키지 않고 InnoDB 엔진도 핫백업이 가능한 도구로 XtraBackup이라는 오픈소스 프로그램이 있습니다. 소개를 보면 mysql 상용 백업 프로그램인 InnoDB Hot Backup 보다 더 많은 기능을 제공합니다.

XtraBackup은 기본적으로 InnoDB와 XtraDB의 백업을 지원하지만 같이 설치되는 innobackupex 스크립트를 통해서 MyISAM 방식도 백업이 가능합니다. 그리고 직접 해본 결과 ARCHIVE 방식의 DB도 백업되는 것을 확인했습니다.

개인적인 의견인데 이제 MySQL에서 꼭 MyISAM을 써야될 이유가 퇴색했기에 MyISAM을 돌리기 위해서 할당할 자원을 InnoDB에 최적화 시키는게 좋습니다.

XtraBackup은 증분백업도 지원하는데 InnoDB와 XtraDB만 지원합니다. 이런점 때문이라도 MyISAM 보다는 InnoDB를 쓰는게 좋습니다.

이 글에서는 제가 직접 테스트한 전체백업만 소개하겠습니다. 자세한 사용법은 Percona Xtrabackup – Documentation을 참고하시거나 구글링을 통해서 정보를 얻으실 수 있습니다.

XtraBackup의 설치는 데비안, 레드햇 계열 모두 저장소를 제공하고 있으므로 저장소만 추가하면 apt-get, yum으로 쉽게 설치하실 수 있습니다. 각 리눅스 패키지별 저장소 추가 및 설치도 구글링에 맡기겠습니다. ^^

설치가 끝났으면 아래의 명령으로 풀백업이 가능합니다.

$ innobackupex /백업경로

지정한 백업경로에 /백업경로/년-월-일_시-분-초/ 디렉토리가 생성되며 백업이 됩니다. 자동으로 디렉토리명이 백업시간으로 정해지니까 무척 편리합니다.

복구도 어렵지 않습니다.

먼저 mysql 서버를 중지시킵니다.
mysql이 데이터를 기록하는 디렉토리를 옮겨놓습니다.(mysql 설정 파일 my.cnf의 datadir 참고)

$ mv /var/lib/mysql /var/lib/mysql-old

다시 빈 디렉토리를 만듭니다.

$ mkdir /var/lib/mysql

아래의 명령어로 복구를 시작합니다.

$ innobackupex –copy-back /백업경로/년-월-일_시-분-초/

저는 22GB의 파일을 복구하는데 10분 걸렸습니다.
이걸 mysqldump로 백업한 sql로 복구했다면 수시간이 걸립니다.

복구된 mysql 디렉토리의 권한을 변경합니다.

$ chown -R mysql. /var/lib/mysql

마지막으로 mysql을 재시작 합니다.

참고자료: http://www.tekovic.com/mysql-hot-backup-with-xtrabackup-on-centos





 댓글 (0)


백업/기타
페이지: 1 / 2   


XtraBackup을 이용한 MySQL 백업 및 복97
   MySQL DB 백업 및 복구 - mysqldump506
   [MySQL] 리눅스DB를 윈도우DB로 이전(Too426
     [RE] [MySQL] 리눅스DB를 윈도우DB로 이653
   정보통신부 제공 우편번호부 원본파일755
   mysql 원격접속방법710
   가격비교 참고자료(홈마스타)(3) 516
   리눅스에서 PHP 콘솔을 이용한 MySQL DB 백(홈마스타)577
   utf8 환경으로 자료 conversion 성공기(홈마스타)546
   Mysql-4.1.13 의 한글 문제. | 리눅스(홈마스타)458
   MySQL 5.0 euckr 문자세팅(홈마스타)500
   mySql 처리 함수(홈마스타)1286
   mysql의 주요 함수(홈마스타)1118
   MySQL 백업(홈마스타)485
   mysql 과 함께 사용되는 명령어 사용법(홈마스타)464
   mysql의 최대 성능 향상 방법(홈마스타)797
   리눅스에서 PHP 콘솔을 이용한 MySQL DB 백(홈마스타)514
   PHP로 MySQL 백업받기(홈마스타)693
     [RE] PHP로 MySQL 백업받기(홈마스타)495
   ORDER BY 에서 조건걸기(홈마스타)566
   백업과 복구(홈마스타)556
   리눅스 서버에서 홈페이지의 DB를 백업할려면?(홈마스타)563
   MySQL 데이터 백업 및 복구 | Database(홈마스타)(1) 823
     [RE] MySQL 데이터 및 구조의 백업 - 실제(홈마스타)555
   mysql 주기적으로 백업하기(홈마스타)617
   웹서버와 DB서버를 분리해서 운영할려면?(홈마스타)751
   백업받는 스크립트(홈마스타)692
   서브 쿼리 지원되는 MySQL 버젼...(홈마스타)593
   MySQL Dump뜨는 방법 및 복구 방법(홈마스타)621
     [RE] MySQL Dump뜨는 방법 및 복구 방법(홈마스타)841
≪ [1]  [2]   ≫

복수단어 검색은 공백(space)로 구분해 주세요.



 
최근 글
[손님]
117
97
250
467
1019
403
463
258
382
3841
931
1003
1248
990
4296
 
인기 글
[손님]
[나는5] 자동링크 테스트
3233
[홈마스타] check박스 배열 넘기기
5623
4308
3183
3908
4237
5177
4357
3207
3174
4392
10484
3414
3157
10317