• MySQL매뉴얼
    • MySQL 5.6 매뉴얼
    • MySQL 5.1 매뉴얼
    • MySQL 5.0 매뉴얼
    • MySQL HA 매뉴얼
  • 기술문서
    • Xtrabackup 구성
    • 메모리 사용량 모니터링
  • 라이선스
  • 온라인문의
  • 회사소개
  • → 목 록 (MySQL5.6 한글메뉴얼) [close]
  • 1. MySQL 5.6 새로운 기능
  • 2. MySQL 설치 및 업그레이드
  • 3. MySQL Tutorial
  • 4. MySQL 프로그램
  • 5. MySQL 서버관리
  • 6. 보안
  • 7. 백업 및 복구
  • 1. 백업 및 복구의 종류
    2. 데이터베이스 백업 방법
    3. 백업 및 복구 전략의 예
    4. 백업에 mysqldump의 사용
    5. 바이너리 로그를 사용한 시점 (증분) 복구
    1. 이벤트 시간을 사용한 시점 복구
    2. 이벤트의 위치를​​ 사용한 시점 복구
    6. MyISAM 테이블의 보수와 크래쉬 복구
  • 8. 최적화
  • 9. Language Structure(언어구조)
  • 10. Character Sets(Globalization)
  • 11. 데이터형(Data Types)
  • 12. 함수와 연산자
  • 13. SQL 문법
  • 14. InnoDB 스토리지 엔진
  • 15. 기타 스토리지 엔진
  • 16. 고가용성 및 확장성
  • 17. 리플리케이션
  • 18. MySQL Cluster
  • 19. 파티셔닝
  • 20. Stored Programs and Views
  • 21. INFORMATION_SCHEMA
  • 22. PERFORMANCE SCHEMA
  • 23. 컨넥터 및 API
  • 24. MySQL 확장
  • 25. MySQL Enterprise Edition
  • 26. MySQL Workbench
  • 27. 제약 및 제한
  • 28. MySQL 5.7 새로운 기능

7.5.2 이벤트의 위치를​​ 사용한 시점 복구

날짜와 시간을 지정하는 대신 로그 위치를 지정하기 위해 mysqlbinlog에서 --start-position 과 --stop-position 옵션을 사용할 수 있습니다. 그들은 날짜가 아닌 로그 위치 번호를 지정하는 것을 제외하고 시작 날짜와 종료 날짜 옵션과 동일하게 작동합니다. 위치를 사용하는 것으로, 특히 해를 끼칠 SQL 문과 비슷한시기에 많은 트랜잭션이 발생하는 경우 복구 할 로그 부분을보다 정확하게 파악할 수 있습니다. 위치 번호를 확인하려면 예기치 않은 트랜잭션이 실행 된 시간 부근의 기간에 mysqlbinlog를 수행하지만 결과를 조사를 위해 텍스트 파일로 리디렉션합니다. 이것은 다음과 같이 실행할 수 있습니다.

shell> mysqlbinlog --start-datetime="2005-04-20 9:55:00" \
         --stop-datetime="2005-04-20 10:05:00" \
         /var/log/mysql/bin.123456 > /tmp/mysql_restore.sql

이 명령은 /tmp 디렉토리에 유해한 SQL 문이 실행 된 시간 부근의 SQL 문을 포함하는 작은 텍스트 파일을 만듭니다. 텍스트 편집기에서 파일을 열고 반복하고 싶지 않은 문을 찾습니다. 복구를 중지하고 다시 바이너리 로그의 위치를​​ 확인하고이를 기록합니다. 위치는 뒤에 번호가 붙은 log_pos 레이블이됩니다. 이전 백업 파일 복원 후 위치 번호를 사용하여 바이너리 로그 파일을 처리합니다. 예를 들어,이 같은 명령을 사용합니다.

shell> mysqlbinlog --stop-position=368312 /var/log/mysql/bin.123456 \
         | mysql -u root -p

shell> mysqlbinlog --start-position=368315 /var/log/mysql/bin.123456 \
         | mysql -u root -p

첫 번째 명령은 지정된 정지 위치까지 모든 트랜잭션을 복구합니다. 두 번째 명령은 바이너리 로그의 마지막까지 지정된 시작 위치에서 모든 트랜잭션을 복구합니다. mysqlbinlog의 출력은 각 SQL 명령문이 기록되기 전에 SET TIMESTAMP 명령문이 포함되므로 복구 된 데이터와 관련된 MySQL 로그는 트랜잭션이 실행 된 원래 시간을 반영합니다.

서울시 강남구 영동대로 602 6층
TEL: 02-6061-0006  /  E: csr@mysqlkorea.com
주식회사 이노클러스터  등록번호 : 727-86-02261
Copyright © innocluster Co. ltd. all rights reserved