

# アクティブ/アクティブクラスターの管理
<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>
+ レプリケーションユーザー `rdsgrprepladmin` のパスワードは、アクティブ/アクティブクラスター内のすべての DB インスタンスで同じである必要があります。
+ `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>

レプリケーションユーザー `rdsgrprepladmin` のパスワードは、アクティブ/アクティブクラスター内のすべての DB インスタンスで同じである必要があります。`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>

 {{bootstrap}}   
新しいグループを初期化するか、既存のグループに参加するかを指定する値。`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 インスタンスには影響しません。