집 >데이터 베이스 >MySQL 튜토리얼 >mysql binlog 란 무엇입니까?
Mysql binlog는 "바이너리 로그"입니다. binlog는 모든 데이터베이스 테이블 구조 변경 및 테이블 데이터 수정을 기록하는 바이너리 로그이지만 SELECT 및 SHOW와 같은 작업은 데이터 자체를 수정하지 않기 때문에 기록되지 않습니다.
이 튜토리얼의 운영 환경: Windows 10 시스템, mysql8 버전, Dell G3 컴퓨터.
mysql binlog란 무엇입니까?
binlog 소개:
binlog(바이너리 로그)
binlog는 모든 데이터베이스 테이블 구조 변경(예: CREATE, ALTER TABLE...) 및 테이블 데이터 수정(INSERT)을 기록합니다. , UPDATE, DELETE…) 바이너리 로그.
Binlog는 SELECT, SHOW 등의 작업은 데이터 자체를 수정하지 않기 때문에 기록하지 않지만, 일반 로그를 쿼리하면 MySQL에서 실행되는 모든 명령문을 볼 수 있습니다.
바이너리 로그에는 두 가지 유형의 파일이 포함됩니다. 바이너리 로그 인덱스 파일(파일 이름 접미사는 .index)은 모든 바이너리 파일을 기록하는 데 사용되며, 바이너리 로그 파일(파일 이름 접미사는 .00000) *) 데이터베이스의 모든 DDL 및 DML(데이터 쿼리문 제외) 명령문 이벤트를 기록합니다.
트랜잭션 로그 소개:
innodb 트랜잭션 로그에는 다시 실행 로그와 실행 취소 로그가 포함됩니다.
undo 로그는 트랜잭션이 시작되기 전, 어떤 데이터를 연산하기 전에 먼저 운용할 데이터를 한 곳에 백업하는 것을 의미합니다.
redo 로그는 트랜잭션에서 운용되는 모든 데이터를 말하며, 최신 데이터를 한 곳에 백업하는 것을 말합니다
트랜잭션 로그 목적: 인스턴스 또는 미디어 오류가 발생하는 경우 트랜잭션 로그 파일이 유용할 수 있습니다.
1. 리두 로그는 트랜잭션이 제출될 때 기록되지 않지만 트랜잭션이 실행되는 동안 리두에 기록되기 시작합니다. 특정 배치 전략을 구성할 수 있습니다. 장애 발생 시 더티 페이지가 디스크에 기록되는 것을 방지하기 위해 mysql 서비스를 재시작할 때 redo 로그를 기반으로 redo를 수행함으로써 디스크에 기록되지 않은 트랜잭션 데이터를 유지하는 기능을 구현한다. RedoLog는 트랜잭션 내구성을 확보한 것으로 보이는 제품입니다
2. Undo 로그는 행 레코드를 특정 버전으로 롤백하는 데 사용됩니다. Undo는 트랜잭션이 제출되기 전에 커밋되지 않은 버전 데이터를 저장합니다. Undo의 데이터는 다른 동시 트랜잭션에서 스냅샷을 읽을 수 있도록 이전 버전 데이터의 스냅샷으로 사용할 수 있습니다. 트랜잭션의 원자성을 달성하는 것으로 보이는 제품입니다. Mysql innodb 스토리지 엔진에서 다중 버전 동시성 제어를 구현하는 데 사용됩니다
[관련 권장 사항: mysql 비디오 튜토리얼]
위 내용은 mysql binlog 란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!