DataBase/Maria DB

[DB/AWS] MariaDB Mariabackup 복원하기

Trillion Binary 2023. 2. 9. 13:37
SMALL

mariabackup restore(복원하기)

- MariaDB mariabackup을 통해 백업 된 
데이터를 이용해 복원을 진행해 보도록 하겠습니다.

공통​

1. fullbackup , increbackup 파일 aws s3 저장소에서 가져오기
- 초기 설정
sudo aws configure
access key id : [access key aws] 유출 금지
secret access key : [secret key aws] 유출 금지
region name : ap-northeast-2
output format : json
s3 저장소 연결 확인
sudo aws s3 ls
전체 백업 데이터​
sudo aws s3 cp s3://db-backup-s3/real-db/fullbackup/2022/05/20220517/ ./fullbackup --recursive
증분 백업 데이터
sudo aws s3 cp s3://db-backup-s3/real-db/increbackup/2022/05/20220517/ ./increbackup --recursive

 

전체 복원

#db 서버 중지
sudo systemctl stop mariadb
​​
#기존 MariaDB 데이터 삭제 후 비워주기
sudo rm -rf /var/lib/mysql/*

#전체(기본) 복원 준비
sudo mariabackup --prepare --target-dir=/home/ec2-user/fullbackup

#복원 실행
sudo mariabackup --copy-back --target-dir=/home/ec2-user/fullbackup

#(필수)접근 권한 설정
sudo chown -R mysql:mysql /var/lib/mysql/

#서버 재시작
sudo systemctl start mariadb

 

증분 복원

#db 서버 중지
sudo systemctl stop mariadb
​​
#기존 MariaDB 데이터 삭제 후 비워주기
sudo rm -rf /var/lib/mysql/*

#전체(기본) 복원 준비
sudo mariabackup --prepare --target-dir=/home/ec2-user/fullbackup

#base가 되는 전체 backup data에 증분 data 적용
> *증분 데이터를 순차적으로 적용한다.
sudo aws s3 cp s3://db-backup-s3/real-db/increbackup/2022/05/20220517/ ./increbackup --recursive

#복원 실행
sudo mariabackup --copy-back --target-dir=/home/ec2-user/fullbackup

#(필수)접근 권한 설정
sudo chown -R mysql:mysql /var/lib/mysql/

#서버 재시작
sudo systemctl start mariadb

 

추가 설명

​xtrabackup_checkpoints
> 백업에 대한 메타 데이터가 포함 돼있습니다.

backup_type = fullbackup, incremental
from_lsn = 0 # fullbackup인 경우 0 , incremental인 경우 LSN(로그 시퀀스 번호)
to_lsn = 1635102 # 마지막 체크 포인트의 LSN(로그 시퀀스 번호), mariabackup에서 내부적으로 사용.
last_lsn = 1635102 # 마지막 LSN(로그 시퀀스 번호), mariabackup에서 내부적으로 사용.

 

BIG