本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
下列預存程序RDS會設定和管理我的SQL作用中叢集。如需詳細資訊,請參閱為 RDS My 設定主動-主動叢集SQL。
這些預存程序僅適用於執行下列版本的 RDS MySQL 資料庫執行個體:
-
所有 MySQL 8.4 版本
-
我的SQL 8.0.35 和更新次要版本
主題
mysql.rds_group_replication_advance_gtid
在目前的資料庫執行個體GTIDs上建立預留位置。
語法
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
的 。在與資料庫執行個體相關聯的資料庫參數群組UUID中,group_replication_group_name
指定為 。
使用須知
在作用中叢集中,若要讓資料庫執行個體加入群組,在新資料庫執行個體上執行的所有GTID交易都必須存在於叢集中的其他成員上。在異常情況下,當交易在將執行個體加入群組之前執行時,新的資料庫執行個體可能會有更多交易。在此情況下,您無法移除任何現有的交易,但您可以使用此程序在 群組中的資料庫執行個體GTIDs上建立對應的預留位置。執行此操作之前,請確認交易不會影響複寫的資料。
當您呼叫此程序時, GTID的交易server_uuid:begin_id-end_id
會以空白內容建立。為避免複寫問題,請勿在任何其他條件下使用此程序。
重要
當主動-主動叢集正常運作時,避免呼叫此程序。除非您了解所建立交易的可能後果,否則請勿呼叫此程序。呼叫此程序可能會導致資料不一致。
範例
下列範例會在目前的資料庫執行個體GTIDs上建立預留位置:
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
);
參數
-
bootstrap
-
指定要初始化新群組或加入現有群組的值。 會使用目前的資料庫執行個體
1
初始化新群組。 透過連線至與資料庫執行個體相關聯之資料庫參數群組 中group_replication_group_seeds
參數中定義的端點, 會將目前的資料庫執行個體0
加入現有群組。
範例
下列範例會初始化具有目前資料庫執行個體的新群組:
CALL mysql.rds_group_replication_start(
1
);
mysql.rds_group_replication_stop
在目前的資料庫執行個體上停止群組複寫。
語法
CALL mysql.rds_group_replication_stop();
使用須知
當您在資料庫執行個體上停止複寫時,不會影響作用中叢集中的任何其他資料庫執行個體。