[MySQL] binlog로 시점 복원하기

2024. 10. 3. 02:23·♣ Learning Logs/MYSQL

1.로그 비교

항목 바이너리 로그 (Binary Log) InnoDB 트랜잭션 로그 (InnoDB Transaction Log)
목적 데이터베이스의 변경 사항을 기록하여 복원 및 복제에 사용 트랜잭션 무결성 유지 및 시스템 충돌 복구에 사용
저장 방식 비휘발성 저장소에 저장 (디스크에 기록) 비휘발성 저장소에 저장 (디스크에 기록)
주요 기능 - 시점 복원 가능 - 트랜잭션 롤백 지원
- 데이터 복제 지원 - 크래시 리커버리 지원
로그 유형 - Statement-based - Redo Log (변경 사항 기록)
- Row-based - Undo Log (롤백 정보 기록)
- Mixed  
복원 방식 - FULL 백업 + 바이너리 로그를 사용하여 특정 시점으로 복원 - 시스템 크래시 후 자동 복구 (재시작 시 자동 수행)
사용 예 - 특정 시점 복원 필요할 때 사용 - 트랜잭션이 실패한 경우 롤백하거나, 시스템 충돌 후 복구 시 사용
설정 방법 log-bin 설정 필요 기본적으로 활성화되어 있으나, 크기 설정 필요 (innodb_log_file_size)
확인 방법 SHOW BINARY LOGS;로 로그 파일 확인 SHOW ENGINE INNODB STATUS;로 트랜잭션 로그 상태 확인

Mysql 에서 변경사항을 기록하는 로그는 위와 같이 두 가지가 있습니다.

일반적으로 사용자가 특정 시점으로 롤백을 하는 경우에 바이너리 로그 (Binary Log) 를 사용합니다.

 

2.복원 방법

2.1.Mysql 옵션 확인 

[Mysql]

-- 현재 MySQL 서버에서 바이너리 로그가 활성화되어 있는지 확인합니다.
SHOW global variables LIKE '%log_bin%';

-- MySQL의 데이터 디렉토리 설정을 확인합니다
SHOW variables like '%dir';

-- 현재 서버에서 사용 가능한 모든 바이너리 로그 파일의 목록을 보여줍니다.
SHOW BINARY LOGS;

--현재 로그를 플러시하여 새로운 로그 파일을 생성합니다. (이전 로그와 분리)
FLUSH LOGS;

 

2.2.Mysql 로그 추출

[cmd]

-- 특정 바이너리 로그 파일의 내용을 복구하거나 확인합니다.
mysqlbinlog /var/lib/mysql/binlog.000022 > vbinlog.000022.sql

--  (선택 사항) 전체 바이너리 로그를 덤프하여 전체 데이터를 복구하거나 확인합니다.
mysqlbinlog /var/lib/mysql/binlog.0* > vbinlog.sql

 

2.3.복원 

-- 복원
mysql -u root -p -f < vbinlog.000022.sql

 

⇒  insert 했던 쿼리를 볼 수 있다.

 

 

마침 😊

저작자표시 비영리 변경금지 (새창열림)

'♣ Learning Logs > MYSQL' 카테고리의 다른 글

[MYSQL] Mysql Group Replication 구축(2)  (1) 2024.10.25
[MYSQL] Mysql Group Replication 구축(1)  (0) 2024.10.25
'♣ Learning Logs/MYSQL' 카테고리의 다른 글
  • [MYSQL] Mysql Group Replication 구축(2)
  • [MYSQL] Mysql Group Replication 구축(1)
HC.21
HC.21
hc-log 님의 블로그 입니다.
  • HC.21
    HC
    HC.21
  • 전체
    오늘
    어제
    • 분류 전체보기 (21)
      • ♣ Learning Logs (16)
        • 데이터 아키텍처 (1)
        • MSSQL (10)
        • MYSQL (3)
        • SQL (2)
        • MongoDB (1)
      • Project (4)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
HC.21
[MySQL] binlog로 시점 복원하기
상단으로

티스토리툴바