DBMS

2025.04.22 11:06

mariadb 을 mariabackup 사용하여 백업

  • 비아웹 3일 전 2025.04.22 11:06
  • 7
    0

안녕하세요

호스팅 전문기업 비아웹입니다.

mariadb 10.2 이상부터 포함되어 있는 mariabackup을 이용하여 mariadb 를 file-base 백업하는 방법에 대해 정리합니다.

  1. Test OS

  • Rocky Linux 9.4

2. mariadb-server 및 mariadb-backup 설치

dnf install mariadb-server mariadb-backup

3. examlpe data import

4. 전체 백업

mariabackup --backup -uroot --password=패스워드 --target-dir=백업 저장 경로
  • 실 백업시에는 --no-lock 옵션 추가

5. 백업 비교

file base 백업

6. mariadb 복원

  • 복원 테스트를 위하여 mariadb 중지 및 mariadb 저장 공간 삭제 (rm -rf /var/lib/mysql/* )

mariabackup --copy-back --target-dir=/backup/full/ (백업 경로)
# 복원시 root 로 복원됨으로 uid/gid 변경 필요
chown -R mysql:mysql /var/lib/mysql
 
  • mariadb start 및 디비 확인

7. 증분 백업

  • 기존 백업 파일의 xtrabackup_info innodb_to_lsn 를 확인하여 증분 백업

  • 백업 시나리오

# 최초 1회 full 백업
# 매일 증분 백업
# full backup 저장 경로   /backup/full
# 1차 증분 백업 저장 경로 /backup/daily1
# 2차 증분 백업 저장 경로 /backup/daily2
  • 백업 스크립트

# full 백업 스크립트
mariabackup  --backup -uroot --password=패스워드 --no-lock --target-dir=/backup/full

# 1차 증분 백업 스크립트
mariabackup  --backup -uroot --password=패스워드 --no-lock --incremental-basedir=/backup/full --target-dir=/backup/daily1

# 2차 증분 백업 스크립트
mariabackup  --backup -uroot --password=패스워드 --no-lock --incremental-basedir=/backup/daily1 --target-dir=/backup/daily2

 

  • 백업 결과 비교 (백업간 신규 table 생성 및 data import 진행)

8. 증분 백업 복원 방법

  • full bakup 과 증분 백업 합치는 작업 필요

  • --prepare 옵션 사용

  • full backup prepare

mariabackup --prepare --target-dir=/backup/full

 

  • full 백업에 1차 증분 백업 적용

mariabackup --prepare --target-dir=/backup/full --incremental-dir=/backup/daily1

 

  • full 백업에 2차 증분 백업 적용

mariabackup --prepare --target-dir=/backup/full --incremental-dir=/backup/daily2

 

  • 증분 백업 적용된 full backup 복구

mariabackup --copy-back --target-dir=/backup/full/

 

  • 이후는 6번 mariadb 복원과 동일합니다.

mysqldump 보다 백업 시간 감소와 빠른 복구를 지원하나,

특정 table 이나 특정 db 복원하기 위해서는 백업된 디비를 별도 서비스 구동 후 mysqldump 후 복구 진행해야 합니다.

HW 장애나 OS 장애시 빠른 복구를 위한 방법으로 추천드리며, mysqldump 와 함께 사용하시기 바랍니다.

감사합니다.

호스팅 전문기업 비아웹

 

 

  • 공유링크 복사
  • 다음글mysql timezone 설정2025.04.22
  • 댓글목록

    등록된 댓글이 없습니다.