>  기사  >  데이터 베이스  >  xtrabackup의 백업 원리에 대한 자세한 소개

xtrabackup의 백업 원리에 대한 자세한 소개

怪我咯
怪我咯원래의
2017-06-23 13:38:061694검색

Percona XtraBackup작동 방식

Percona XtraBackup은 InnoDB를 기반으로 한 충돌 복구 기능입니다. InnoDB 데이터 파일을 복사하여 내부적으로 일치하지 않는 데이터가 발생하지만 파일에 대해 충돌 복구를 수행하여 다시 일관되고 사용 가능한 데이터베이스로 만듭니다.

이것은 InnoDB가 트랜잭션 로그라고도 알려진 리두 로그를 유지 관리하기 때문입니다. 여기에는 InnoDB 데이터의 모든 변경 사항에 대한 기록이 포함됩니다. InnoDB가 시작되면 데이터 파일과 트랜잭션 로그를 확인하고 두 단계를 수행합니다. 커밋된 트랜잭션 로그 항목을 데이터 파일에 적용하고 데이터를 수정했지만 커밋하지 않은 모든 트랜잭션에 대해 실행 취소 작업을 수행합니다.

Percona XtraBackup은 LSN(로그 시퀀스 번호)을 기록하는 것으로 시작한 다음 데이터 파일을 복사합니다. 이 작업은 완료하는 데 짧은 시간이 걸리므로 파일이 변경되면 서로 다른 시점의 데이터베이스 상태가 반영됩니다. 동시에 Percona XtraBackup은 트랜잭션 로그 파일을 모니터링하고 변경 사항을 복사하는 백그라운드 프로세스를 실행합니다. Percona XtraBackup 트랜잭션 로그는 순환 방식으로 기록되고 일정 기간 후에 재사용될 수 있으므로 이 작업을 지속적으로 수행해야 합니다. Percona XtraBackup데이터 파일 실행 시작 이후 모든 변경 사항에 대해 트랜잭션 로깅이 필요합니다.

Percona XtraBackup은 가벼운 대안으로 백업 잠금을 사용합니다. 이 기능은 Percona Server 5.6+에서 사용할 수 있습니다. Percona XtraBackup이 기능을 사용하면 InnoDB가 아닌 데이터를 자동으로 복사하여 InnoDB 테이블을 수정하는 DML 쿼리를 차단하지 않습니다. 서버가 백업 잠금을 지원하는 경우 xtrabackup은 먼저 InnoDB 데이터를 복사하고 MyISAM 테이블 및 .frm 파일을 실행 및 복사합니다. 완료되면 파일 백업이 시작됩니다. BACKUP.par에 대한 .frm, .MRG, .MYD, .MYI, .TRG, FLUSH TABLES WITH READ LOCKLOCK TABLES FOR BACKUP.par

참고

잠금은 MyISAM 및 기타 비 InnoDB 테이블에서만 Percona에서만 잠금됩니다. XtraBackup 완료 후 모든 InnoDB/XtraDB 데이터와 로그를 백업합니다. Percona XtraBackup은 가벼운 대안으로 백업 잠금을 사용합니다. 이 기능은 Percona Server 5.6+에서 사용할 수 있습니다. Percona XtraBackup이 기능을 사용하면 InnoDB가 아닌 데이터를 자동으로 복사하여 InnoDB 테이블을 수정하는 DML 쿼리를 차단하지 않습니다. 읽기 잠금으로 테이블을 플러시

이후 xtrabackup은 바이너리 로그 위치 또는 보고를 변경할 수 있는 모든 작업을 차단합니다. 그런 다음 xtrabackup은 REDO 로그 파일 복사 및 바이너리 로그 좌표 가져오기를 완료합니다. 이 작업이 완료되면 xtrabackup은 바이너리 로그와 테이블의 잠금을 해제합니다. BACKUPExec_Master_Log_PosExec_Gtid_SetSHOW MASTER/SLAVE STATUS에 대한 잠금 BINLOG

마지막으로 바이너리 로그 위치가 STDERR에 인쇄되고 모든 것이 정상이면 xtrabackup은 0을 반환하여 종료됩니다.

STDERR의 xtrabackup은 어떤 파일에도 기록되지 않는다는 점에 유의해야 합니다. 예를 들어 파일로 리디렉션해야 합니다. xtrabackup OPTIONS2> backupout.log

백업된 디렉터리에 다음 파일도 생성됩니다.

준비 단계에서 Percona XtraBackup은 복제된 트랜잭션 로그 파일을 사용하여 복제된 데이터 파일에 대한 충돌 복구를 수행합니다. 이 작업이 완료되면 데이터베이스를 복원하고 사용할 수 있습니다.

백업된 MyISAMInnoDB 테이블은 준비(복원) 프로세스 후 InnoDB의 데이터가 롤백이 아닌 백업이 완료된 지점으로 롤포워드되므로 결국 서로 일관성을 갖게 됩니다. 시작된 지점까지. 이 시점이 찍은 위치와 일치하므로 MyISAM 데이터와 준비된 InnoDB 데이터가 동기화됩니다. FLUSH TABLES WITHREAD LOCK

간단히 말하면, 이러한 도구를 사용하면 데이터 파일 복사, 로그 파일 복사, 다양한 데이터 조합에 로그 적용을 통해 스트리밍 및 증분 백업과 같은 작업을 수행할 수 있습니다.

위 내용은 xtrabackup의 백업 원리에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.