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_history
및 mysql.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);