Mysql & Maria/admin

Mysql xtrabackup 백업 및 복구 (slave 서버 재구성)

dbavayne 2024. 1. 11. 11:36

포스팅은 full backup 기준이며 slave 서버 재구성하는 시나리오 임.

 

xtrabackup 방식

- mysqldump 형식이 아니므로 event_scheduler, 논리적 복구는 따로 적용해줘야함.

- xtrabackup version : 8.0 

- mysql version : mysql 8.0.27

 

ZSTD 가 compress 옵션 사용시 기본 압축 방식으로 변경되어 qpress 설치할 필요가 없어짐.

 

1. 백업 수행

xtrabackup --defaults-file=/etc/my.cnf \
--user="userid" \
--password="password" \
--backup \
--no-lock --parallel=4 \
--compress \
--compress-threads=4 \
--stream=xbstream --target_dir=/tmp/ > /root/backup/backup_80.xbstream

 

2. 백업 파일 슬레이브 서버에 전송 

 

3. 백업 파일 압축 해제

 - 나의 경우 mysql 설치 경로 중 data 영역에 압축 해제하였음

 - --remove-original  옵션을 기입해 압축파일 제거

 xbstream -x <  backup_80.xbstream -C /root/backup/
 
xtrabackup \
--decompress-threads=8 \
--decompress \
--target_dir=/root/backup/

 

4. aply log 적용 및 copy-back 수행

xtrabackup --prepare --target-dir=/data/backup/
xtrabackup --defaults-file=/etc/my.cnf \
--copy-back \
--target_dir=/root/backup

 

5. 소유자 변경

 - data 디렉토리 권한 mysql:mysql 로 변경

 

6. 기동 및 replication 동기화 설정

 -  xtrabackup_info 파일안에 해당 log와 position이 기입되어 있음.

-- 기존 동기화 초기화
reset slave ;

-- Binlog POS 기반 Replication
CHANGE replication TO
source_HOST='마스터IP',
source_PORT=3306,
source_USER='repl_user',
source_PASSWORD='repl_user',
source_log_file='binlog.000019',
source_log_pos=2446;

 

 

참조 : https://hoing.io/archives/15274

 

MySQL Xtrabackup을 이용한 백업 및 복구 replication 구성 - 복제 구성

포스팅에서는 MySQL에서 Xtrabackup을 이용한 온라인 백업 수행 과 복구 그리고 복제 설정에 대해서 5.7 버전과 8.0 버전대상으로 내용을 다루고 있습니다.

hoing.io

 

 

'Mysql & Maria > admin' 카테고리의 다른 글

[환경변수] binlog_format  (0) 2024.02.23
CentOS 7 Maria 10.3 환경구축  (0) 2024.01.31
트랜잭션 격리수준  (1) 2023.11.29
root 비밀 번호 분실시  (0) 2023.11.28
Mysql lock 종류  (0) 2023.11.26