17.1.3 글로벌 트랜잭션 식별자를 사용하여 복제
이 섹션에서는 MySQL 5.6.5에서 도입 된 글로벌 트랜잭션 식별자 (GTID)를 사용하여 트랜잭션 기반 복제에 대해 설명합니다. GTID를 사용하여 각 트랜잭션이 원래 서버에서 커밋되지 슬레이브에 의해 적용된 후에 그것을 식별하고 추적 할 수 있습니다. 이것은 GTID을 사용하여 새로운 슬레이브를 시작할 때 또는 새로운 마스터로 페일 오버 할 때 로그 파일 또는 해당 파일에서의 위치를 참조하지 않아도 이러한 작업이 크게 단순화되는 것을 의미합니다. GTID 기반 복제가 완전히 트랜잭션 기반이기 때문에 마스터와 슬레이브가 일치하는지 여부를 판단하기가 용이합니다. 마스터에 커밋 된 모든 트랜잭션이 슬레이브에서도 최선을 다하고있는 한 양자의 일관성은 보장됩니다. 명령문 기반 또는 열 기반 리플리케이션을 GTID에 따라 사용할 수 있습니다 ( 섹션 17.1.2 "복제 형식" 을 참조하십시오). 그러나 최상의 결과를 얻으려면 행 기반 형식을 사용하는 것이 좋습니다.
이 섹션에서는 다음 항목에 대해 설명합니다.
GTID가 어떻게 정의 및 작성되어 그들이 MySQL Server에서 어떻게 표현되는지 ( 섹션 17.1.3.1 "GTID의 개념" 을 참조하십시오).
GTID 기반 복제를 설치 및 시작하기위한 일반적인 절차 ( 섹션 17.1.3.2 "GTID를 사용한 복제 설정" 을 참조하십시오).
GTID를 사용할 때 새로운 복제 서버를 구축하기 위해 권장되는 방법 ( 섹션 17.1.3.3 "페일 오버 및 확장에 GTID 사용" 을 참조하십시오).
GTID 기반 복제를 사용할 때 유의해야 할 제약 및 제한 ( 섹션 17.1.3.4 "GTID 기반 복제 제한 사항" 을 참조하십시오).
GTID 기반 복제와 관련된 MySQL Server 옵션 및 변수 내용은 섹션 17.1.4.5 "글로벌 트랜잭션 ID 옵션과 변수" 를 참조하십시오. GTID과 함께 사용하기 위해 MySQL 5.6이 지원하는 SQL 함수는 섹션 12.16 "글로벌 트랜잭션 ID와 함께 사용되는 함수" 를 참조하십시오.
GTID는 MySQL Cluster가 사용하는 NDB
스토리지 엔진과 호환되지 않으며, 지원되지 않습니다. MySQL Cluster에서 GTID를 사용하면 NDB
문제가 발생하여 MySQL Cluster 복제도 실패 할 가능성이 매우 높아집니다.