管理主動-主動叢集 - Amazon Relational Database Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

管理主動-主動叢集

下列預存程序會設定和管理 RDS for MySQL 主動-主動叢集。如需詳細資訊,請參閱 為 RDS for MySQL 設定主動-主動叢集

這些預存程序僅適用於執行下列版本的 RDS for MySQL 資料庫執行個體:

  • 所有 MySQL 8.4 版

  • MySQL 8.0.35 和更高的次要版本

mysql.rds_group_replication_advance_gtid

在目前的資料庫執行個體上建立預留位置 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 指定為 UUID。

使用須知

在主動-主動叢集中,若要讓資料庫執行個體加入群組,所有在新資料庫執行個體上執行的 GTID 交易都必須存在於叢集中的其他成員上。在少數情況下,若在執行個體加入群組之前執行交易,新的資料庫執行個體可能會有更多交易。在此情況下,您無法移除任何現有的交易,但您可以使用此程序,在群組中的其他資料庫執行個體上建立對應的預留位置 GTID。執行此操作前,請確認交易不會影響複寫的資料

當您呼叫此程序時,將會以空白內容建立 server_uuid:begin_id-end_id 的 GTID 交易。為避免發生複寫問題,切勿在其他情況下使用此程序。

重要

請避免在主動-主動叢集正常運作時呼叫此程序。除非您了解您建立的交易可能有何後果,否則請勿呼叫此程序。呼叫此程序可能會導致資料不一致。

範例

下列範例會在目前的資料庫執行個體上建立預留位置 GTID:

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

mysql.rds_group_replication_create_user

為資料庫執行個體上的群組複寫建立複寫使用者 rdsgrprepladmin

語法

CALL mysql.rds_group_replication_create_user( replication_user_password );

參數

replication_user_password

複寫使用者 rdsgrprepladmin 的密碼。

使用須知

  • 複寫使用者 rdsgrprepladmin 的密碼在主動-主動叢集中的所有資料庫執行個體上必須相同。

  • 這個 rdsgrprepladmin 使用者名稱會保留給群組複寫連線。其他使用者 (包括主要使用者) 都無法使用此使用者名稱。

範例

下列範例會為資料庫執行個體上的群組複寫建立複寫使用者 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 的密碼。

使用須知

複寫使用者 rdsgrprepladmin 的密碼在主動-主動叢集中的所有資料庫執行個體上必須相同。對 mysql.rds_group_replication_create_user 的呼叫會指定密碼。

範例

下列範例會為主動-主動叢集設定 group_replication_recovery 通道:

CALL mysql.rds_group_replication_set_recovery_channel('password');

mysql.rds_group_replication_start

在目前的資料庫執行個體上啟動群組複寫。

語法

CALL mysql.rds_group_replication_start( bootstrap );

參數

引導

指定要初始化新群組還是加入現有群組的值。1 會使用目前的資料庫執行個體初始化新群組。0 會連線至與資料庫執行個體相關聯的資料庫參數群組中的 group_replication_group_seeds 參數所定義的端點,藉以將目前的資料庫執行個體加入現有群組。

範例

下列範例會使用目前的資料庫執行個體初始化新群組:

CALL mysql.rds_group_replication_start(1);

mysql.rds_group_replication_stop

在目前的資料庫執行個體上停止群組複寫。

語法

CALL mysql.rds_group_replication_stop();

使用須知

在一個資料庫執行個體上停止複寫,並不會影響主動-主動叢集中的任何其他資料庫執行個體。