17.2 Replication 구현
복제는 데이터베이스의 모든 변경 (업데이트, 삭제 등)을 바이너리 로그에서 추적하는 마스터 서버에 따라 다릅니다. 바이너리 로그는 서버가 시작하는 순간부터 데이터베이스의 구조 또는 내용 (데이터)를 변경하는 모든 이벤트가 기록 된 기록으로 작동합니다. SELECT
문은 일반적으로 데이터베이스의 구조 및 내용을 변경하지 않기 때문에 기록되지 않습니다.
마스터에 연결하는 각 슬레이브는 바이너리 로그의 사본을 요청합니다. 즉, 마스터가 슬레이브로 데이터를 밀어 것이 아니라 슬레이브가 마스터에서 데이터를 끌어합니다. 슬레이브는 또한 그것이받을 바이너리 로그에서 이벤트를 실행합니다. 이에 따라 원래의 변경이 마스터에서 실행되는 것처럼 반복되는 것입니다. 마스터에서 처음으로 실행 된 변경에 따라 테이블이 생성되고, 그 구조가 변경되거나 데이터가 삽입, 삭제, 업데이트되기도합니다.
각 슬레이브는 독립하고 있기 때문에 마스터의 바이너리 로그에서 변경 사항의 재생이 마스터에 연결된 각 슬레이브에서 단독으로 발생합니다. 또한 각 슬레이브는 바이너리 로그의 사본을 마스터에서 요구하는 것으로 만 받기 때문에 슬레이브는 자신의 페이스로 데이터베이스 복사본을 읽거나 갱신 할 수 마스터 측 또는 슬레이브에서 최신 데이터베이스 상태를 업데이트 능력에 영향을주지 않고 복제 프로세스를 자유롭게 시작하거나 중지 할 수 있습니다.
복제 구현 사양에 대한 자세한 내용은 섹션 17.2.1 "복제 구현 정보" 를 참조하십시오.
마스터와 슬레이브 복제 프로세스에 대한 상태를 모니터 할 수 있도록 정기적으로 그들을보고합니다. 모든 복제 관련 상태에 대한 설명은 섹션 8.12.5 "스레드 정보 검사" 를 참조하십시오.
마스터 바이너리 로그는 슬레이브의 로컬 릴레이 로그에 기록 된 후 처리됩니다. 슬레이브는 마스터의 바이너리 로그와 로컬 릴레이 로그와 함께 현재의 위치에 대한 정보도 기록합니다. 섹션 17.2.2 "복제 릴레이 및 상태 로그" 를 참조하십시오.
데이터베이스 변경은 다양한 구성 옵션 및 이벤트 평가를 제어하는 매개 변수에 따라 적용되는 규칙 세트에 따라 슬레이브에서 필터됩니다. 이러한 규칙이 어떻게 적용되는지에 대한 자세한 내용은 섹션 17.2.3 "서버가 복제 필터링 규칙을 어떻게 평가 하는가?" 를 참조하십시오.