기술나눔

데이터베이스 리버스 엔지니어링 도구 reverse_sql

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

reverse_sql은 MySQL 바이너리 로그(binlog)를 구문 분석하고 변환하는 도구입니다. 바이너리 로그 파일에 기록된 데이터베이스 변경 작업(예: 삽입, 업데이트, 삭제)을 역방향 SQL 문으로 변환하여 데이터 롤백 및 시스템 복구 또는 사람이 생성한 오작동을 용이하게 할 수 있습니다.
**ps:** 바이너리 로그를 켜야 합니다. (원클릭 스크립트로 설치된 MySQL은 기본적으로 켜져 있습니다.)
'log_bin'과 같은 변수 표시
이미지.png
**ps:** 바이너리 로그는 ROW 형식이어야 합니다(원클릭 스크립트로 설치된 MySQL의 기본 ROW).
'binlog_format'과 같은 변수를 표시합니다.
이미지.png

바이너리 로그 경로 보기

'log_bin_basename'과 같은 변수를 표시합니다.
이미지.png
이미지.png

포지셔닝에는 회복 기간이 필요합니다

  • 바이너리 로그 생성 시간을 기준으로 복원해야 할 바이너리 로그를 결정합니다. ON.000706을 예로 들면, 로그에는 4월 13일 02시 1분부터 4월 14일 02시 사이의 작업이 기록됩니다.

이미지.png

  • 바이너리 로그 경로 아래에서 읽을 수 있는 SQL 파일로 로그를 컴파일합니다.

/usr/local/mysql/bin/mysqlbinlog --기본값 없음 --base64 출력=디코드 행 -v --건너뛰기-gtids ON.000706