mysql.rds_set_external_master_gtid - Amazon Relational Database Service

mysql.rds_set_external_master_gtid

Amazon RDS 외부에서 실행 중인 MariaDB 인스턴스에서 MariaDB DB 인스턴스로의 GTID 기반 복제를 구성합니다. 이 프로시저는 외부 MariaDB 인스턴스가 버전 10.0.24 이상인 경우에만 지원됩니다. 두 인스턴스 중 하나 또는 모두가 MariaDB 전역 트랜잭션 ID(GTID)를 지원하지 않는 복제를 설정하는 경우 다음(mysql.rds_set_external_master)을 사용하십시오.

복제 시 GTID를 사용하면 이진 로그 복제에서는 제공하지 않는 충돌 안정성 기능을 제공하므로 복제 인스턴스가 지원하는 경우에는 GTID 기반 복제를 사용하는 것이 좋습니다.

구문

CALL mysql.rds_set_external_master_gtid( host_name , host_port , replication_user_name , replication_user_password , gtid , ssl_encryption );

파라미터

host_name

문자열. 소스 인스턴스가 될 Amazon RDS 외부에서 실행 중인 MariaDB 인스턴스의 호스트 이름 또는 IP 주소입니다.

host_port

정수. 소스 인스턴스로 구성될 Amazon RDS 외부에서 실행 중인 MariaDB 인스턴스에서 사용하는 포트입니다. 네트워크 구성에 포트 번호를 변환하는 SSH 포트 복제가 포함되는 경우 SSH에 의해 공개되는 포트 이름을 지정하십시오.

replication_user_name

문자열. 읽기 전용 복제본으로 구성될 MariaDB DB 인스턴스에서 REPLICATION SLAVE 권한이 있는 사용자의 ID입니다.

replication_user_password

문자열. replication_user_name에 지정된 사용자 ID의 암호입니다.

gtid

문자열. 복제를 시작해야 하는 소스 인스턴스의 전역 트랜잭션 ID.

복제를 구성하는 동안 소스 인스턴스가 잠긴다면 @@gtid_current_pos를 사용하여 현재 GTID를 가져올 수 있습니다. 그러므로 GTID를 가져오는 시점과 복제가 시작하는 시점 사이에서 이진 로그가 변경되지 않습니다.

또는 복제를 시작하기 전에 mysqldump 버전 10.0.13 이상을 사용하여 복제본 인스턴스를 채우는 경우 --master-data 또는 --dump-slave 옵션을 사용하여 출력 내 GTID 위치를 가져올 수 있습니다. mysqldump 버전 10.0.13 이상을 사용하지 않는 경우에는 SHOW MASTER STATUS를 실행하거나 동일한 mysqldump 옵션을 사용하여 이진 로그 파일 이름 및 위치를 가져온 다음, 외부 MariaDB 인스턴스에서 BINLOG_GTID_POS옵션을 실행해 GTID로 변환할 수 있습니다.

SELECT BINLOG_GTID_POS('<binary log file name>', <binary log file position>);

GTID의 MariaDB 구현에 대한 자세한 내용은 MariaDB 설명서에서 전역 트랜잭션 ID를 참조하십시오.

ssl_encryption

복제 연결에 보안 소켓 계층(SSL) 암호화를 사용할지 여부를 지정하는 값입니다. 1은 SSL 암호화 사용, 0은 암호화 사용 안 함입니다. 기본값은 0입니다.

참고

MASTER_SSL_VERIFY_SERVER_CERT 옵션은 지원되지 않습니다. 이 옵션은 0으로 설정되어 있는데, 이는 연결이 암호화되었지만 인증서는 확인되지 않았음을 의미합니다.

사용 노트

mysql.rds_set_external_master_gtid 프로시저는 마스터 사용자가 실행해야 합니다. Amazon RDS 외부에서 실행 중인 MariaDB DB 인스턴스의 복제본으로 구성하려는 MariaDB DB 인스턴스에서 실행해야 합니다. mysql.rds_set_external_master_gtid를 실행하기 전에 Amazon RDS 외부에서 실행 중인 MariaDB의 인스턴스를 소스 인스터스로 구성해야 합니다. 자세한 내용은 MariaDB DB 인스턴스로 데이터 가져오기 섹션을 참조하세요.

주의

mysql.rds_set_external_master_gtid를 사용하여 두 Amazon RDS DB 인스턴스 간 복제를 관리하지 마십시오. RDS 외부에서 실행 중인 MariaDB 인스턴스를 복제할 때만 사용합니다. Amazon RDS DB 인스턴스 간 복제 관리에 대한 자세한 내용은 DB 인스턴스 읽기 전용 복제본 작업 주제를 참조하십시오.

mysql.rds_set_external_master_gtid를 호출하여 Amazon RDS DB 인스턴스를 읽기 전용 복제본으로 구성한 후 복제본에서 mysql.rds_start_replication을 호출하여 복제 프로세스를 시작할 수 있습니다. mysql.rds_reset_external_master를 호출하여 읽기 전용 복제본 구성을 제거할 수 있습니다.

mysql.rds_set_external_master_gtid가 호출되면 Amazon RDS에서 mysql.rds_historymysql.rds_replication_status 테이블에 시간, 사용자 및 "set master" 작업을 기록합니다.

MariaDB DB 인스턴스에서 다음 예제를 실행하면 Amazon RDS 외부에서 실행 중인 MariaDB 인스턴스의 복제본으로 구성됩니다.

call mysql.rds_set_external_master_gtid ('Sourcedb.some.com',3306,'ReplicationUser','SomePassW0rd','0-123-456',0);