Loading...
MySQL 9.5 Reference Manual 9.5의 25.7.5 Preparing the NDB Cluster for Replication의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
Replication을 위해 NDB Cluster를 준비하는 작업은 다음 단계들로 구성됩니다:
모든 MySQL 서버의 버전 호환성을 확인합니다(참고:
Section 25.7.2, “General Requirements for NDB Cluster Replication”).
적절한 권한을 사용하여 소스 Cluster에 replication 계정을 다음 두 개의 SQL 문으로 생성합니다:
1mysqlS> CREATE USER 'replica_user'@'replica_host' 2 -> IDENTIFIED BY 'replica_password'; 3 4mysqlS> GRANT REPLICATION SLAVE ON *.* 5 -> TO 'replica_user'@'replica_host';
위 문장에서
replica_user 는 replication 계정의 사용자 이름,
replica_host 는 replica의 호스트 이름 또는 IP 주소,
replica_password 는 이 계정에 할당할 비밀번호입니다.
예를 들어, 이름이 myreplica이고, replica-host라는 호스트에서 로그인하며, 비밀번호로 53cr37을 사용하는 replica 사용자 계정을 생성하려면, 다음 CREATE USER 및 GRANT 문을 사용합니다:
1mysqlS> CREATE USER 'myreplica'@'replica-host' 2 -> IDENTIFIED BY '53cr37'; 3 4mysqlS> GRANT REPLICATION SLAVE ON *.* 5 -> TO 'myreplica'@'replica-host';
보안상의 이유로, replication 계정에는 다른 용도로 사용되지 않는 고유한 사용자 계정을 사용하는 것이 바람직합니다.
CHANGE REPLICATION SOURCE TO 문으로 이를 수행할 수 있습니다:1mysqlR> CHANGE REPLICATION SOURCE TO 2 -> SOURCE_HOST='source_host', 3 -> SOURCE_PORT=source_port, 4 -> SOURCE_USER='replica_user', 5 -> SOURCE_PASSWORD='replica_password';
위 문장에서
source_host 는 replication 소스의 호스트 이름 또는 IP 주소,
source_port 는 replica가 소스에 연결할 때 사용할 포트,
replica_user 는 소스에 설정된 replica용 사용자 이름,
replica_password 는 앞 단계에서 해당 사용자 계정에 설정한 비밀번호입니다.
예를 들어, 이전 단계에서 생성한 replication 계정을 사용하여 호스트 이름이 rep-source인 MySQL 서버를 replica가 사용하도록 지시하려면, 다음 문을 사용합니다:
1mysqlR> CHANGE REPLICATION SOURCE TO 2 -> SOURCE_HOST='rep-source', 3 -> SOURCE_PORT=3306, 4 -> SOURCE_USER='myreplica', 5 -> SOURCE_PASSWORD='53cr37';
이 문과 함께 사용할 수 있는 옵션의 전체 목록은 Section 15.4.2.2, “CHANGE REPLICATION SOURCE TO Statement”를 참조하십시오.
Replication 백업 기능을 제공하려면, replication 프로세스를 시작하기 전에 replica의 my.cnf 파일에 --ndb-connectstring 옵션을 추가해야 합니다. 자세한 내용은 Section 25.7.9, “NDB Cluster Backups With NDB Cluster Replication”를 참조하십시오.
Replica에 대해 my.cnf에서 설정할 수 있는 추가 옵션에 대해서는 Section 19.1.6, “Replication and Binary Logging Options and Variables”를 참조하십시오.
1ndb-connectstring=management_host[:port]
Replica에서 NDB Cluster를 사용하지 않는 경우, 소스에서 다음 명령으로 백업을 생성할 수 있습니다:
1shellS> mysqldump --source-data=1
그런 다음, 생성된 데이터 덤프를 replica로 복사하여 덤프 파일을 가져옵니다. 이후, mysql 클라이언트를 사용하여 덤프 파일의 데이터를 replica 데이터베이스로 가져올 수 있습니다. 여기서 dump_file 은 소스에서 mysqldump를 사용해 생성된 파일의 이름이고, db_name 은 replication 대상 데이터베이스의 이름입니다:
1shellR> mysql -u root -p db_name < dump_file
mysqldump와 함께 사용할 수 있는 옵션의 전체 목록은 Section 6.5.4, “mysqldump — A Database Backup Program”을 참조하십시오.
참고
이와 같은 방식으로 데이터를 replica로 복사하는 경우, 모든 데이터가 로드되기 전에 replica가 소스에 연결하여 replication을 시작하려고 시도하지 않도록 반드시 확인해야 합니다. 이를 위해 replica를 --skip-replica-start와 함께 시작할 수 있습니다. 데이터 로딩이 완료되면, 다음 두 section에 설명된 추가 단계를 따르십시오.
Replication 소스 역할을 하는 각 MySQL 서버에 고유한 서버 ID가 할당되어 있고, row 기반 포맷을 사용하는 바이너리 로깅이 활성화되어 있는지 확인하십시오(참고:
Section 19.2.1, “Replication Formats”). 추가로, replica_allow_batching 시스템 변수(기본값)를 활성화할 것을 강력히 권장합니다.
Replica에서 write에 사용되는 배치 크기를 설정하기 위해 --ndb-batch-size 대신 --ndb-replica-batch-size를 사용하고, replication applier가 blob 데이터를 write할 때 사용하는 배치 크기를 결정하기 위해 --ndb-blob-write-batch-bytes 대신 --ndb-replica-blob-write-batch-bytes를 사용하십시오. 이들 옵션은 소스 서버의 my.cnf 파일에 설정하거나, 소스 mysqld 프로세스를 시작할 때 커맨드 라인에서 설정할 수 있습니다. 자세한 정보는 Section 25.7.6, “Starting NDB Cluster Replication (Single Replication Channel)”을 참조하십시오.
25.7.4 NDB Cluster Replication Schema and Tables
25.7.6 Starting NDB Cluster Replication (Single Replication Channel)