활성-활성 클러스터 - Amazon Relational Database Service

활성-활성 클러스터

다음 저장 프로시저는 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 인스턴스에는 영향을 주지 않습니다.