

# mysql.rds\$1set\$1external\$1master\$1gtid
<a name="mysql_rds_set_external_master_gtid"></a>

Amazon RDS 외부에서 실행 중인 MariaDB 인스턴스에서 MariaDB DB 인스턴스로의 GTID 기반 복제를 구성합니다. 이 프로시저는 외부 MariaDB 인스턴스가 버전 10.0.24 이상인 경우에만 지원됩니다. 두 인스턴스 중 하나 또는 모두가 MariaDB 전역 트랜잭션 ID(GTID)를 지원하지 않는 복제를 설정하는 경우 다음([mysql.rds\$1set\$1external\$1master(RDS for MariaDB 및 RDS for MySQL 메이저 버전 8.0 이하)](mysql-stored-proc-replicating.md#mysql_rds_set_external_master))을 사용하십시오.

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

## 구문
<a name="mysql_rds_set_external_master_gtid-syntax"></a>

 

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

## 파라미터
<a name="mysql_rds_set_external_master_gtid-parameters"></a>

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

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

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

 *replication\$1user\$1password*   
문자열. `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](http://mariadb.com/kb/en/mariadb/global-transaction-id/)를 참조하십시오.

 *ssl\$1encryption*   
복제 연결에 보안 소켓 계층(SSL) 암호화를 사용할지 여부를 지정하는 값입니다. 1은 SSL 암호화 사용, 0은 암호화 사용 안 함입니다. 기본값은 0입니다.  
`MASTER_SSL_VERIFY_SERVER_CERT` 옵션은 지원되지 않습니다. 이 옵션은 0으로 설정되어 있는데, 이는 연결이 암호화되었지만 인증서는 확인되지 않았음을 의미합니다.

## 사용 노트
<a name="mysql_rds_set_external_master_gtid-usage-notes"></a>

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

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

`mysql.rds_set_external_master_gtid`를 호출하여 Amazon RDS DB 인스턴스를 읽기 전용 복제본으로 구성한 후 복제본에서 [mysql.rds\$1start\$1replication](mysql-stored-proc-replicating.md#mysql_rds_start_replication)을 호출하여 복제 프로세스를 시작할 수 있습니다. [mysql.rds\$1reset\$1external\$1master(RDS for MariaDB 및 RDS for MySQL 메이저 버전 8.0 이하)](mysql-stored-proc-replicating.md#mysql_rds_reset_external_master)를 호출하여 읽기 전용 복제본 구성을 제거할 수 있습니다.

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

## 예시
<a name="mysql_rds_set_external_master_gtid-examples"></a>

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

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