활성-활성 클러스터
다음 저장 프로시저는 RDS for MySQL의 활성-활성 클러스터를 설정하고 관리합니다. 자세한 내용은 RDS for MySQL 액티브-액티브 클러스터 구성 단원을 참조하십시오.
이러한 저장 프로시저는 버전 8.0.35 이상의 마이너 버전을 실행하는 RDS for MySQL DB 인스턴스에서만 사용할 수 있습니다.
주제
mysql.rds_group_replication_advance_gtid
현재 DB 인스턴스에 자리 표시자 GTID를 생성합니다.
명령문
CALL mysql.rds_group_replication_advance_gtid(
begin_id
,end_id
,server_uuid
);
파라미터
-
begin_id
-
생성할 시작 트랜잭션 ID입니다.
-
end_id
-
생성할 종료 트랜잭션 ID입니다.
-
begin_id
-
생성할 트랜잭션을 위한
group_replication_group_name
입니다.group_replication_group_name
은 DB 인스턴스와 연결된 DB 파라미터 그룹에 UUID로 지정됩니다.
사용 노트
활성-활성 클러스터에서 DB 인스턴스가 그룹에 가입하려면 새 DB 인스턴스에서 실행되는 모든 GTID 트랜잭션이 클러스터의 다른 구성원에 존재해야 합니다. 드문 경우지만, 인스턴스를 그룹에 조인하기 전에 트랜잭션을 실행하면 새 DB 인스턴스에서 더 많은 트랜잭션이 발생할 수 있습니다. 이 경우 기존 트랜잭션을 제거할 수는 없지만 이 프로시저를 사용하여 그룹의 다른 DB 인스턴스에 해당하는 자리 표시자 GTID를 만들 수 있습니다. 그러기 전에 트랜잭션이 복제된 데이터에 영향을 주지 않는지 확인하세요.
이 프로시저를 직접 호출하면 server_uuid:begin_id-end_id
의 GTID 트랜잭션이 빈 콘텐츠와 함께 생성됩니다. 복제 문제를 방지하려면 다른 조건에서는 이 프로시저를 사용하지 마세요.
중요
활성-활성 클러스터가 정상적으로 작동할 때는 이 프로시저를 직접 호출하지 마세요. 생성 중인 트랜잭션으로 인해 발생할 수 있는 결과를 이해하지 못하면 이 프로시저를 직접 호출하지 마세요. 이 프로시저를 직접 호출하면 데이터가 일치하지 않을 수 있습니다.
예
다음 예제는 현재 DB 인스턴스에 자리 표시자 GTID를 만듭니다.
CALL mysql.rds_group_replication_advance_gtid(
5
,6
, '11111111-2222-3333-4444-555555555555
');
mysql.rds_group_replication_create_user
DB 인스턴스의 그룹 복제를 위한 복제 사용자 rdsgrprepladmin
를 생성합니다.
명령문
CALL mysql.rds_group_replication_create_user(
replication_user_password
);
파라미터
-
replication_user_password
-
복제 사용자
rdsgrprepladmin
의 암호입니다.
사용 노트
-
활성-활성 클러스터의 모든 DB 인스턴스에서 복제 사용자
rdsgrprepladmin
의 암호가 동일해야 합니다. -
rdsgrprepladmin
사용자 이름은 그룹 복제 연결용으로 예약되어 있습니다. 마스터 사용자를 포함한 다른 사용자는 이 사용자 이름을 가질 수 없습니다.
예
다음 예제는 DB 인스턴스에서 그룹 복제를 위한 복제 사용자 rdsgrprepladmin
를 생성합니다.
CALL mysql.rds_group_replication_create_user('
password
');
mysql.rds_group_replication_set_recovery_channel
활성-활성 클러스터의 group_replication_recovery
채널을 설정합니다. 이 프로시저에서는 예약된 rdsgrprepladmin
사용자를 사용하여 채널을 구성합니다.
명령문
CALL mysql.rds_group_replication_set_recovery_channel(
replication_user_password
);
파라미터
-
replication_user_password
-
복제 사용자
rdsgrprepladmin
의 암호입니다.
사용 노트
활성-활성 클러스터의 모든 DB 인스턴스에서 복제 사용자 rdsgrprepladmin
의 암호가 동일해야 합니다. mysql.rds_group_replication_create_user
를 직접 호출하면 암호가 지정됩니다.
예
다음 예에서는 활성-활성 클러스터의 group_replication_recovery
채널을 설정합니다.
CALL mysql.rds_group_replication_set_recovery_channel('
password
');
mysql.rds_group_replication_start
현재 DB 인스턴스에서 그룹 복제를 시작합니다.
명령문
CALL mysql.rds_group_replication_start(
bootstrap
);
파라미터
-
부트스트랩
-
새 그룹을 초기화할지 기존 그룹에 가입할지를 지정하는 값입니다.
1
은 현재 DB 인스턴스로 새 그룹을 초기화합니다.0
은 DB 인스턴스와 연결된 DB 파라미터 그룹의group_replication_group_seeds
파라미터에 정의된 엔드포인트에 연결하여 현재 DB 인스턴스를 기존 그룹에 조인합니다.
예
다음 예제는 현재 DB 인스턴스로 새 그룹을 초기화합니다.
CALL mysql.rds_group_replication_start(
1
);
mysql.rds_group_replication_stop
현재 DB 인스턴스에서 그룹 복제를 중지합니다.
명령문
CALL mysql.rds_group_replication_stop();
사용 노트
DB 인스턴스에서 복제를 중지해도 활성-활성 클러스터의 다른 DB 인스턴스에는 영향을 주지 않습니다.