Loading...
MySQL 9.5 Reference Manual 9.5의 19.1.2 Setting Up Binary Log File Position Based Replication의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
19.1.2.1 Setting the Replication Source Configuration
19.1.2.2 Setting the Replica Configuration
19.1.2.3 Creating a User for Replication
19.1.2.4 Obtaining the Replication Source Binary Log Coordinates
19.1.2.5 Choosing a Method for Data Snapshots
19.1.2.6 Setting Up Replicas
19.1.2.7 Setting the Source Configuration on the Replica
19.1.2.8 Adding Replicas to a Replication Environment
이 섹션에서는 MySQL 서버를 바이너리 로그 파일 포지션 기반 복제를 사용하도록 설정하는 방법을 설명합니다. 복제를 설정하는 방법에는 여러 가지가 있으며, 어떤 정확한 방법을 사용할지는 복제를 어떻게 설정하는지, 그리고 소스의 데이터베이스에 이미 복제하고자 하는 데이터가 있는지 여부에 따라 달라집니다.
참고
여러 개의 MySQL 인스턴스를 배포하려면 InnoDB Cluster를 사용할 수 있으며, 이는 MySQL Shell에서 MySQL 서버 인스턴스 그룹을 쉽게 관리할 수 있게 해줍니다. InnoDB Cluster는 MySQL Group Replication을 프로그래밍 환경으로 감싸서, 고가용성을 달성하기 위해 MySQL 인스턴스 클러스터를 쉽게 배포할 수 있게 해줍니다.
추가로, InnoDB Cluster는 MySQL Router와 매끄럽게 연동되므로, 별도의 페일오버 프로세스를 작성하지 않고도 애플리케이션이 클러스터에 연결할 수 있습니다. 그러나 고가용성이 필요하지 않은 유사한 유스 케이스의 경우 InnoDB ReplicaSet을 사용할 수 있습니다. MySQL Shell의 설치 방법은 here에서 찾을 수 있습니다.
모든 설정에 공통적인 일반적인 작업이 있습니다:
source에서는 바이너리 로깅이 활성화되어 있고, 고유한 서버 ID가 설정되어 있는지 확인해야 합니다. 이를 위해 서버 재시작이 필요할 수 있습니다. 자세한 내용은
Section 19.1.2.1, “Setting the Replication Source Configuration”를 참조하십시오.
source에 연결하려는 각 replica에서는 고유한 서버 ID를 설정해야 합니다. 이를 위해 서버 재시작이 필요할 수 있습니다. 자세한 내용은
Section 19.1.2.2, “Setting the Replica Configuration”를 참조하십시오.
선택적으로, replica가 복제를 위해 바이너리 로그를 읽을 때 source에 대한 인증에 사용할 별도의 사용자를 생성합니다. 자세한 내용은
Section 19.1.2.3, “Creating a User for Replication”를 참조하십시오.
데이터 스냅샷을 생성하거나 복제 프로세스를 시작하기 전에, source에서 현재 바이너리 로그의 위치를 기록해야 합니다. 이 정보는 replica를 설정할 때 필요하며, replica가 바이너리 로그 내에서 어떤 위치부터 이벤트를 실행해야 하는지 알 수 있게 해줍니다. 자세한 내용은
Section 19.1.2.4, “Obtaining the Replication Source Binary Log Coordinates”를 참조하십시오.
source에 이미 데이터가 있고 이를 사용해서 replica를 동기화하려는 경우, 데이터를 replica로 복사하기 위한 데이터 스냅샷을 생성해야 합니다. 사용 중인 스토리지 엔진에 따라 스냅샷 생성 방법이 달라집니다. MyISAM을 사용하는 경우, 읽기 잠금을 얻기 위해 source에서 스테이트먼트 처리를 중지한 다음, 현재 바이너리 로그 좌표를 얻고 데이터를 덤프한 후에야 source가 다시 스테이트먼트를 실행하도록 허용해야 합니다.
스테이트먼트 실행을 중지하지 않으면 데이터 덤프와 source 상태 정보가 서로 일치하지 않게 되어 replica의 데이터베이스가 불일치하거나 손상될 수 있습니다. MyISAM source를 복제하는 방법에 대한 자세한 내용은
Section 19.1.2.4, “Obtaining the Replication Source Binary Log Coordinates”를 참조하십시오. InnoDB를 사용하는 경우에는 읽기 잠금이 필요 없으며, 데이터 스냅샷을 전송하기에 충분히 긴 트랜잭션이면 충분합니다. 자세한 내용은
Section 17.19, “InnoDB and MySQL Replication”을 참조하십시오.
replica를 source에 연결하기 위한 설정, 예를 들어 호스트 이름, 로그인 자격 증명, 바이너리 로그 파일 이름과 위치 등을 구성합니다. 자세한 내용은
Section 19.1.2.7, “Setting the Source Configuration on the Replica”를 참조하십시오.
시스템에 적합한 방식으로 source와 replica에서 복제 전용 보안 조치를 구현합니다. 자세한 내용은
Section 19.3, “Replication Security”를 참조하십시오.
참고
설정 프로세스의 특정 단계에서는 SUPER 권한이 필요합니다. 이 권한이 없다면 복제를 활성화하지 못할 수 있습니다.
기본 옵션을 구성한 후, 시나리오를 선택하십시오:
데이터가 없는 새로운 source와 replica 설치에 대해 복제를 설정하려면
Section 19.1.2.6.1, “Setting Up Replication with New Source and Replicas”를 참조하십시오.
기존 MySQL 서버의 데이터를 사용하여 새로운 source의 복제를 설정하려면
Section 19.1.2.6.2, “Setting Up Replication with Existing Data”를 참조하십시오.
기존 복제 환경에 replica를 추가하려면
Section 19.1.2.8, “Adding Replicas to a Replication Environment”를 참조하십시오.
MySQL 복제 서버를 관리하기 전에, 이 전체 chapter를 읽고
Section 15.4.1, “SQL Statements for Controlling Source Servers”와
Section 15.4.2, “SQL Statements for Controlling Replica Servers”에 나오는 모든 스테이트먼트를 실행해 보십시오.
또한
Section 19.1.6, “Replication and Binary Logging Options and Variables”에 설명된 복제 시작 옵션에도 익숙해져야 합니다.
19.1.1 Binary Log File Position Based Replication Configuration Overview
19.1.3 Replication with Global Transaction Identifiers