

# 활성-활성 클러스터
<a name="mysql-stored-proc-active-active-clusters"></a>

다음 저장 프로시저는 RDS for MySQL의 활성-활성 클러스터를 설정하고 관리합니다. 자세한 내용은 [RDS for MySQL 액티브-액티브 클러스터 구성](mysql-active-active-clusters.md) 단원을 참조하십시오.

이러한 저장 프로시저는 다음 버전을 실행하는 RDS for MySQL DB 인스턴스에서만 사용할 수 있습니다.
+ 모든 MySQL 8.4 버전
+ MySQL 8.0.35 이상 마이너 버전

**Topics**
+ [mysql.rds\_group\_replication\_advance\_gtid](#mysql_rds_group_replication_advance_gtid)
+ [mysql.rds\_group\_replication\_create\_user](#mysql_rds_group_replication_create_user)
+ [mysql.rds\_group\_replication\_set\_recovery\_channel](#mysql_rds_group_replication_set_recovery_channel)
+ [mysql.rds\_group\_replication\_start](#mysql_rds_group_replication_start)
+ [mysql.rds\_group\_replication\_stop](#mysql_rds_group_replication_stop)

## mysql.rds\_group\_replication\_advance\_gtid
<a name="mysql_rds_group_replication_advance_gtid"></a>

현재 DB 인스턴스에 자리 표시자 GTID를 생성합니다.

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

```
CALL mysql.rds_group_replication_advance_gtid(
{{begin_id}}
, {{end_id}}
, {{server_uuid}}
);
```

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

 {{begin\_id}}   
생성할 시작 트랜잭션 ID입니다.

 {{end\_id}}   
생성할 종료 트랜잭션 ID입니다.

 {{begin\_id}}   
생성할 트랜잭션을 위한 `group_replication_group_name`입니다. `group_replication_group_name`은 DB 인스턴스와 연결된 DB 파라미터 그룹에 UUID로 지정됩니다.

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

활성-활성 클러스터에서 DB 인스턴스가 그룹에 가입하려면 새 DB 인스턴스에서 실행되는 모든 GTID 트랜잭션이 클러스터의 다른 구성원에 존재해야 합니다. 드문 경우지만, 인스턴스를 그룹에 조인하기 전에 트랜잭션을 실행하면 새 DB 인스턴스에서 더 많은 트랜잭션이 발생할 수 있습니다. 이 경우 기존 트랜잭션을 제거할 수는 없지만 이 프로시저를 사용하여 그룹의 다른 DB 인스턴스에 해당하는 자리 표시자 GTID를 만들 수 있습니다. 그러기 전에 트랜잭션이 **복제된 데이터에 영향을 주지 않는지 확인하세요.

이 프로시저를 직접 호출하면 `server_uuid:begin_id-end_id`의 GTID 트랜잭션이 빈 콘텐츠와 함께 생성됩니다. 복제 문제를 방지하려면 다른 조건에서는 이 프로시저를 사용하지 마세요.

**중요**  
활성-활성 클러스터가 정상적으로 작동할 때는 이 프로시저를 직접 호출하지 마세요. 생성 중인 트랜잭션으로 인해 발생할 수 있는 결과를 이해하지 못하면 이 프로시저를 직접 호출하지 마세요. 이 프로시저를 직접 호출하면 데이터가 일치하지 않을 수 있습니다.

### 예제
<a name="mysql_rds_group_replication_advance_gtid-examples"></a>

다음 예제는 현재 DB 인스턴스에 자리 표시자 GTID를 만듭니다.

```
CALL mysql.rds_group_replication_advance_gtid({{5}}, {{6}}, '{{11111111-2222-3333-4444-555555555555}}');
```

## mysql.rds\_group\_replication\_create\_user
<a name="mysql_rds_group_replication_create_user"></a>

DB 인스턴스의 그룹 복제를 위한 복제 사용자 `rdsgrprepladmin`를 생성합니다.

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

```
CALL mysql.rds_group_replication_create_user(
{{replication_user_password}}
);
```

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

 {{replication\_user\_password}}   
복제 사용자 `rdsgrprepladmin`의 암호입니다.

### 사용 노트
<a name="mysql_rds_group_replication_create_user-usage-notes"></a>
+ 활성-활성 클러스터의 모든 DB 인스턴스에서 복제 사용자 `rdsgrprepladmin`의 암호가 동일해야 합니다.
+ `rdsgrprepladmin` 사용자 이름은 그룹 복제 연결용으로 예약되어 있습니다. 마스터 사용자를 포함한 다른 사용자는 이 사용자 이름을 가질 수 없습니다.

### 예제
<a name="mysql_rds_group_replication_create_user-examples"></a>

다음 예제는 DB 인스턴스에서 그룹 복제를 위한 복제 사용자 `rdsgrprepladmin`를 생성합니다.

```
CALL mysql.rds_group_replication_create_user('{{password}}');
```

## mysql.rds\_group\_replication\_set\_recovery\_channel
<a name="mysql_rds_group_replication_set_recovery_channel"></a>

활성-활성 클러스터의 `group_replication_recovery` 채널을 설정합니다. 이 프로시저에서는 예약된 `rdsgrprepladmin` 사용자를 사용하여 채널을 구성합니다.

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

```
CALL mysql.rds_group_replication_set_recovery_channel(
{{replication_user_password}});
```

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

 {{replication\_user\_password}}   
복제 사용자 `rdsgrprepladmin`의 암호입니다.

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

활성-활성 클러스터의 모든 DB 인스턴스에서 복제 사용자 `rdsgrprepladmin`의 암호가 동일해야 합니다. `mysql.rds_group_replication_create_user`를 직접 호출하면 암호가 지정됩니다.

### 예제
<a name="mysql_rds_group_replication_set_recovery_channel-examples"></a>

다음 예에서는 활성-활성 클러스터의 `group_replication_recovery` 채널을 설정합니다.

```
CALL mysql.rds_group_replication_set_recovery_channel('{{password}}');
```

## mysql.rds\_group\_replication\_start
<a name="mysql_rds_group_replication_start"></a>

현재 DB 인스턴스에서 그룹 복제를 시작합니다.

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

```
CALL mysql.rds_group_replication_start(
{{bootstrap}}
);
```

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

 {{부트스트랩}}   
새 그룹을 초기화할지 기존 그룹에 가입할지를 지정하는 값입니다. `1`은 현재 DB 인스턴스로 새 그룹을 초기화합니다. `0`은 DB 인스턴스와 연결된 DB 파라미터 그룹의 `group_replication_group_seeds` 파라미터에 정의된 엔드포인트에 연결하여 현재 DB 인스턴스를 기존 그룹에 조인합니다.

### 예제
<a name="mysql_rds_group_replication_start-examples"></a>

다음 예제는 현재 DB 인스턴스로 새 그룹을 초기화합니다.

```
CALL mysql.rds_group_replication_start({{1}});
```

## mysql.rds\_group\_replication\_stop
<a name="mysql_rds_group_replication_stop"></a>

현재 DB 인스턴스에서 그룹 복제를 중지합니다.

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

```
CALL mysql.rds_group_replication_stop();
```

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

DB 인스턴스에서 복제를 중지해도 활성-활성 클러스터의 다른 DB 인스턴스에는 영향을 주지 않습니다.