17.1 Replication 구성
MySQL의 서버 간 복제는 바이너리 로깅 메커니즘을 기반으로합니다. 마스터 (데이터베이스의 변경 소스)로 동작하는 MySQL 인스턴스는 업데이트 및 변경 "이벤트"로 바이너리 로그에 기록합니다. 바이너리 로그의 정보는 기록 된 데이터베이스 변경에 따라 다양한 로깅 형식으로 저장됩니다. 슬레이브는 마스터에서 바이너리 로그를 읽어 내, 슬레이브의 로컬 데이터베이스에있는 바이너리 로그의 이벤트를 실행하도록 구성됩니다.
특정 이벤트의 로그만을 기록하도록 마스터를 구성 할 수 없습니다.
마스터는이 시나리오에서는 ""바보 ""입니다. 일단 바이너리 로깅이 활성화되면 모든 문은 바이너리 로그에 기록됩니다. 각 슬레이브는 바이너리 로그의 전체 내용의 사본을받습니다. 바이너리 로그의 어느 문을 실행할 것인가를 결정하는 것은 슬레이브의 역할에서 특정 이벤트의 로그만을 기록하도록 마스터를 구성 할 수 없습니다. 특히 지정하지 않는 경우, 마스터 바이너리 로그의 모든 이벤트가 슬레이브로 실행됩니다. 필요한 경우 특정 데이터베이스 또는 테이블에 적용되는 이벤트 만 처리하도록 슬레이브를 구성 할 수 있습니다.
각 슬레이브는 바이너리 로그 좌표 (마스터에서 읽고 처리 한 파일 이름과 파일에서의 위치) 레코드를 유지합니다. 이것은 여러 슬레이브가 마스터에 연결하여 동일한 바이너리 로그의 다른 부분을 실행할 수 있음을 의미합니다. 슬레이브는이 프로세스를 제어하는 마스터의 작업에 영향을주지 않고 서버에서 각 슬레이브에 연결하거나 연결 해제 할 수 있습니다. 또한 각 슬레이브는 바이너리 로그의 현재 위치를 기록하고 있기 때문에 슬레이브를 연결 해제하고 다시 연결 한 후 작업을 계속할 수 있습니다.
마스터와 각 슬레이브는 고유 ID를 사용하여 구성해야합니다 ( server-id
옵션을 사용). 또한 각 슬레이브는 마스터 호스트 이름, 로그 파일 이름 및 해당 파일의 위치 정보를 사용하여 구성해야합니다. 이러한 정보는 슬레이브로 CHANGE MASTER TO
문을 사용하여 MySQL 세션 내에서 제어 할 수 있습니다. 자세한 내용은 슬레이브의 마스터 정보 저장소 (파일 또는 테이블)에 저장됩니다 ( 섹션 17.2.2 "복제 릴레이 및 상태 로그" 를 참조하십시오).
이 섹션에서는 복제 환경에 필요한 설치 및 구성에 대해 설명합니다. 새 복제 환경을 만들기위한 단계별 설명을 포함합니다. 이 섹션의 주요 내용은 다음과 같습니다.
복제 용으로 두 개 이상의 서버를 설치하는 지침은 섹션 17.1.1 "복제 설정 방법" 에서 시스템 구성 정보 취급 마스터와 슬레이브간에 데이터를 복사하는 방법을 설명합니다.
바이너리 로그의 이벤트는 어떤 형식으로 기록됩니다. 이들은 문 기반 복제 (SBR) 또는 행 기반 복제 (RBR)이라고합니다. 세 번째 유형 혼합 형식 복제 (MIXED)는 SBR 또는 RBR 복제를 자동으로 사용하고 필요에 따라 SBR과 RBR의 두 형식의 장점을 활용합니다. 다양한 형식에 대해서는 섹션 17.1.2 "복제 형식" 을 참조하십시오.
복제에 적용하는 다양한 구성 옵션과 변수에 대한 자세한 내용은 섹션 17.1.4 "복제 및 바이너리 로깅 옵션과 변수" 를 참조하십시오.
복제 프로세스가 시작되면 관리하거나 모니터링 할 필요가 거의 없습니다. 그러나 실행하는 것이 바람직 일반적인 작업에 대한 조언은 섹션 17.1.5 "일반적인 복제 관리 작업" 을 참조하십시오.