Loading...
MySQL 9.5 Reference Manual 9.5의 20.2.2 Deploying Group Replication Locally의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
Group Replication을 배포하는 가장 일반적인 방법은 여러 서버 인스턴스를 사용하여 고가용성을 제공하는 것입니다. 예를 들어 테스트 목적을 위해 Group Replication을 로컬로 배포하는 것도 가능합니다. 이 섹션에서는 Group Replication을 로컬로 배포하는 방법을 설명합니다.
주의
Group Replication은 일반적으로 고가용성을 보장하기 위해 여러 호스트에 배포됩니다. 이 섹션의 지침은 모든 MySQL 서버 인스턴스가 동일한 단일 호스트에서 실행되므로 프로덕션 배포에 적합하지 않습니다. 이 호스트에 장애가 발생하면 전체 그룹이 장애가 발생합니다. 따라서 이 정보는 테스트 목적에만 사용해야 하며, 프로덕션 환경에서는 사용해서는 안 됩니다.
이 섹션에서는 하나의 물리적 머신에 세 개의 MySQL 서버 인스턴스로 복제 그룹을 생성하는 방법을 설명합니다. 이는 서버 인스턴스마다 하나씩 세 개의 데이터 디렉터리가 필요하고 각 인스턴스를 독립적으로 구성해야 함을 의미합니다. 이 절차에서는 MySQL 서버가 mysql-9.5라는 디렉터리에 다운로드 및 압축 해제되었다고 가정합니다. 각 MySQL 서버 인스턴스는 고유한 데이터 디렉터리가 필요합니다. data라는 디렉터리를 만들고, 그 안에 각 서버 인스턴스용 하위 디렉터리(s1, s2, s3 등)를 만든 다음 각 디렉터리를 초기화합니다.
1mysql-9.5/bin/mysqld --initialize-insecure --basedir=$PWD/mysql-9.5 --datadir=$PWD/data/s1 2mysql-9.5/bin/mysqld --initialize-insecure --basedir=$PWD/mysql-9.5 --datadir=$PWD/data/s2 3mysql-9.5/bin/mysqld --initialize-insecure --basedir=$PWD/mysql-9.5 --datadir=$PWD/data/s3
data/s1, data/s2, data/s3 내부에는 mysql 시스템 데이터베이스 및 관련 테이블 등 많은 내용을 포함하는 초기화된 데이터 디렉터리가 있습니다. 초기화 절차에 대한 자세한 내용은 Section 2.9.1, “Initializing the Data Directory”를 참조하십시오.
주의
프로덕션 환경에서는 -initialize-insecure를 사용하지 마십시오. 여기서는 튜토리얼을 단순화하기 위해서만 사용합니다. 보안 설정에 대한 자세한 내용은 Section 20.6, “Group Replication Security”를 참조하십시오.
Section 20.2.1.2, “Configuring an Instance for Group Replication”의 내용을 따를 때, 이전 섹션에서 추가한 데이터 디렉터리에 대한 구성을 추가해야 합니다. 예를 들면 다음과 같습니다.
1[mysqld] 2 3# server configuration 4datadir=<full_path_to_data>/data/s1 5basedir=<full_path_to_bin>/mysql-9.5/ 6 7port=24801 8socket=<full_path_to_sock_dir>/s1.sock
이 설정은 MySQL 서버가 앞에서 생성한 데이터 디렉터리를 사용하도록 하고, 서버가 어떤 포트를 열어 인커밍 연결을 수신 대기할지를 구성합니다.
참고
이 튜토리얼에서는 세 개의 서버 인스턴스가 동일한 호스트네임을 사용하므로, 기본값이 아닌 포트 24801을 사용합니다. 세 대의 서로 다른 머신으로 구성된 설정이라면 이는 필요하지 않을 수 있습니다.
Group Replication은 멤버 간의 네트워크 연결을 필요로 하며, 이는 각 멤버가 다른 모든 멤버의 네트워크 주소를 해석할 수 있어야 함을 의미합니다. 예를 들어 이 튜토리얼에서는 세 인스턴스가 모두 한 머신에서 실행되므로, 멤버들이 서로 통신할 수 있도록 옵션 파일에 report_host=127.0.0.1와 같은 행을 추가할 수 있습니다.
그런 다음 각 멤버는 다른 멤버의 group_replication_local_address로 연결할 수 있어야 합니다. 예를 들어 멤버 s1의 옵션 파일에 다음을 추가합니다.
1group_replication_local_address= "127.0.0.1:24901" 2group_replication_group_seeds= "127.0.0.1:24901,127.0.0.1:24902,127.0.0.1:24903"
이는 s1이 시드 멤버와의 내부 그룹 통신에 포트 24901을 사용하도록 구성합니다. 그룹에 추가하려는 각 서버 인스턴스에 대해 해당 멤버의 옵션 파일에 이러한 변경을 적용해야 합니다. 각 멤버에 대해 고유한 주소가 지정되었는지 확인해야 하므로, 각 인스턴스에 대해 group_replication_local_address에 고유한 포트를 사용하십시오. 일반적으로는 그룹에 조인하는 멤버가 아직 그룹이 처리한 트랜잭션을 갖고 있지 않은 경우를 대비하여, 모든 멤버가 시드로 동작할 수 있기를 원합니다. 이 경우 위에 표시된 것처럼 모든 포트를 group_replication_group_seeds에 추가합니다.
Section 20.2.1, “Deploying Group Replication in Single-Primary Mode”의 나머지 단계는 이와 같이 로컬로 배포한 그룹에도 동일하게 적용됩니다.
20.2.1 Deploying Group Replication in Single-Primary Mode
20.3 Requirements and Limitations