本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
管理主動-主動叢集
下列預存程序會設定和管理 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();
使用須知
在一個資料庫執行個體上停止複寫,並不會影響主動-主動叢集中的任何其他資料庫執行個體。