OS

2022.02.21 11:13

MySQL binlog 추가 옵션 사용법

  • 비아웹 오래 전 2022.02.21 11:13 인기
  • 5,432
    0

안녕하세요

서버호스팅 비아웹입니다.

이전에 진행한 mysql binlog 에 대한 추가 내용 남깁니다.

https://blog.naver.com/viaweb/222614648012

테스트는

CentOS 7.9 / MariaDB 5.5 에서 진행되었습니다.

 

1. Case

a. 실수로 특정 테이블을 삭제/초기화 b. 해당 테이블에 대한 당일 백업이 있음 c. mysql binlog 설정되어 있음 d. 백업 후 진행된 쿼리에 대한 복구만 진행 필요

 2. backup 데이터를 이용한 DataBase 1차 복구

- 백업 파일을 이용하여 복원시에는 복원전에 binlog 파일 복사하여 복원 로그가 중복되지 않도록 주의

- 백업 데이터에서 장애 발생한 DB/테이블에 대한 1차 복구

백업을 이용한 복구 완료

 

3. mysql binlog 를 이용한 백업 이후 데이터에 대한 복구

a. timestamp 를 이용한 복구

# mysqlbinlog --database=viaweb --start-date="2022-01-06 16:07:00" \
--stop-date="2022-01-06 16:12:00" mysql-bin.000003 > /opt/0106_binlog_backup.sql

--database= 복구대상 DataBase

--start-date="복구시작시점" : 백업 파일 시간

--stop-date="복구종료시점" : 장애 시작 시간

저장된 sql 을 확인하셔서 drop, truncate, delete 등의 쿼리문이 정상인지에 대해서 확인 필요

 

b. mysql command 나 source 를 이용하여 2차 복구 결과

- 해당 command 는 이전 문서를 참조하시기 바랍니다.

 
c. position 을 이용한 복구

: 백업을 이용하여 복구한 테이블의 마지막 프라이머리 키를 확인하여 start 포지션 추적

# mysqlbinlog --database=viaweb --start-position=17472--stop-position=19662 \
/var/lib/mysql/mysql-bin.000003 > /opt/0106_position.sql

-- stop-position 의 경우 백업 복구 이전 시점

--백업 파일을 이용하여 복원시에는 복원전에 binlog 파일 별도 보관하여 작업

 

감사합니다.

서버호스팅 비아웹


 

  • 공유링크 복사

    댓글목록

    등록된 댓글이 없습니다.