選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

使用新的資料庫執行個體設定作用中叢集

焦點模式
使用新的資料庫執行個體設定作用中叢集 - Amazon Relational Database Service

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

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

完成下列步驟,使用新的 Amazon RDS for MySQL 資料庫執行個體來設定作用中叢集。

如果您要在多個 中設定具有資料庫執行個體的作用中叢集VPC,請務必在 中完成先決條件準備跨VPC作用中叢集

步驟 1:在一或多個自訂參數群組中設定主動-主動叢集參數

作用中-作用中叢集中的 RDS for MySQL 資料庫執行個體必須與具有必要參數正確設定的自訂參數群組相關聯。如需參數和每個參數所需設定的相關資訊,請參閱 主動-主動叢集的必要參數設定

您可以在新的參數群組或現有的參數群組中設定這些參數。不過,為了避免意外影響不屬於主動-主動叢集的資料庫執行個體,強烈建議您建立新的自訂參數群組。作用中-作用中叢集中的資料庫執行個體可與相同的資料庫參數群組或不同的資料庫參數群組相關聯。

您可以使用 AWS Management Console 或 AWS CLI 建立新的自訂參數群組。如需詳細資訊,請參閱在 Amazon RDS Amazon 中創建數據庫參數組。下列範例執行 create-db-parameter-group AWS CLI 命令,以建立名為 for MySQL 8.0 myactivepgRDS的自訂資料庫參數群組:

用於 Linux, macOS、 或 Unix:

aws rds create-db-parameter-group \ --db-parameter-group-name myactivepg \ --db-parameter-group-family mysql8.0 \ --description "Parameter group for active-active clusters"

用於 Windows:

aws rds create-db-parameter-group ^ --db-parameter-group-name myactivepg ^ --db-parameter-group-family mysql8.0 ^ --description "Parameter group for active-active clusters"

您也可以使用 AWS Management Console 或 AWS CLI 來設定自訂參數群組中的參數。如需詳細資訊,請參閱修改 Amazon RDS Amazon 數據庫參數組中的參數

下列範例會執行 modify-db-parameter-group AWS CLI 命令來設定RDS適用於 MySQL 8.0 的 參數。若要將此範例與 RDS MySQL 8.4 搭配使用,請將 slave_preserve_commit_order變更為 。 replica_preserve_commit_order

用於 Linux, macOS、 或 Unix:

aws rds modify-db-parameter-group \ --db-parameter-group-name myactivepg \ --parameters "ParameterName='rds.group_replication_enabled',ParameterValue='1',ApplyMethod=pending-reboot" \ "ParameterName='rds.custom_dns_resolution',ParameterValue='1',ApplyMethod=pending-reboot" \ "ParameterName='enforce_gtid_consistency',ParameterValue='ON',ApplyMethod=pending-reboot" \ "ParameterName='gtid-mode',ParameterValue='ON',ApplyMethod=pending-reboot" \ "ParameterName='binlog_format',ParameterValue='ROW',ApplyMethod=immediate" \ "ParameterName='slave_preserve_commit_order',ParameterValue='ON',ApplyMethod=immediate" \ "ParameterName='group_replication_group_name',ParameterValue='11111111-2222-3333-4444-555555555555',ApplyMethod=pending-reboot"

用於 Windows:

aws rds modify-db-parameter-group ^ --db-parameter-group-name myactivepg ^ --parameters "ParameterName='rds.group_replication_enabled',ParameterValue='1',ApplyMethod=pending-reboot" ^ "ParameterName='rds.custom_dns_resolution',ParameterValue='1',ApplyMethod=pending-reboot" ^ "ParameterName='enforce_gtid_consistency',ParameterValue='ON',ApplyMethod=pending-reboot" ^ "ParameterName='gtid-mode',ParameterValue='ON',ApplyMethod=pending-reboot" ^ "ParameterName='binlog_format',ParameterValue='ROW',ApplyMethod=immediate" ^ "ParameterName='slave_preserve_commit_order',ParameterValue='ON',ApplyMethod=immediate" ^ "ParameterName='group_replication_group_name',ParameterValue='11111111-2222-3333-4444-555555555555',ApplyMethod=pending-reboot"

步驟 2:RDS為作用中叢集的 MySQL 資料庫執行個體建立新的

下列版本的 RDS for MySQL 資料庫執行個體支援主動-主動叢集:

  • 所有 MySQL 8.4 版

  • 我的SQL 8.0.35 版和更新的次要版本

您可以為叢集建立最多九個新的資料庫執行個體。

您可以使用 AWS Management Console 或 AWS CLI 建立新的資料庫執行個體。如需建立資料庫執行個體的詳細資訊,請參閱 建立 Amazon RDS 資料庫執行個體。當您建立資料庫執行個體時,請將其與您在上一個步驟中建立或修改的資料庫參數群組建立關聯。

步驟 3:在主動-主動叢集中指定資料庫執行個體

在與每個資料庫執行個體相關聯的資料庫參數群組中,將 group_replication_group_seeds 參數設定為您要包含在叢集中的資料庫執行個體端點。

您可以使用 AWS Management Console 或 AWS CLI 來設定 參數。設定此參數後,您不需要重新啟動資料庫執行個體。如需設定參數的詳細資訊,請參閱修改 Amazon RDS Amazon 數據庫參數組中的參數

下列範例會執行 modify-db-parameter-group AWS CLI 命令來設定參數:

用於 Linux, macOS、 或 Unix:

aws rds modify-db-parameter-group \ --db-parameter-group-name myactivepg \ --parameters "ParameterName='group_replication_group_seeds',ParameterValue='myactivedb1.123456789012.us-east-1.rds.amazonaws.com:3306,myactivedb2.123456789012.us-east-1.rds.amazonaws.com:3306,myactivedb3.123456789012.us-east-1.rds.amazonaws.com:3306',ApplyMethod=immediate"

用於 Windows:

aws rds modify-db-parameter-group ^ --db-parameter-group-name myactivepg ^ --parameters "ParameterName='group_replication_group_seeds',ParameterValue='myactivedb1.123456789012.us-east-1.rds.amazonaws.com:3306,myactivedb2.123456789012.us-east-1.rds.amazonaws.com:3306,myactivedb3.123456789012.us-east-1.rds.amazonaws.com:3306',ApplyMethod=immediate"
提示

請確定您在與作用中叢集group_replication_group_seeds中的資料庫執行個體相關聯的每個資料庫參數群組中設定 參數。

步驟 4:初始化資料庫執行個體上的群組並開始複寫

您可以選擇任何新的資料庫來初始化群組並開始複寫。若要這樣做,請完成下列步驟:

  1. 選擇作用中叢集中的資料庫執行個體,並連線至SQL用戶端中的該資料庫執行個體。如需連線至 RDS for MySQL 資料庫執行個體的詳細資訊,請參閱 連線至執行 MySQL 資料庫引擎的資料庫執行個體

  2. 在SQL用戶端中,執行下列預存程序group_replication_user_password,並以rdsgrprepladmin使用者的密碼取代 。rdsgrprepladmin 使用者會保留給作用中叢集中的群組複寫連線。此使用者的密碼在作用中叢集中的所有資料庫執行個體上都必須相同。

    call mysql.rds_set_configuration('binlog retention hours', 168); -- 7 days binlog call mysql.rds_group_replication_create_user('group_replication_user_password'); call mysql.rds_group_replication_set_recovery_channel('group_replication_user_password'); call mysql.rds_group_replication_start(1);

    此範例將binlog retention hours值設定為 168,這表示二進位日誌檔案會在資料庫執行個體上保留七天。您可以調整此值以符合您的需求。

    此範例1mysql.rds_group_replication_start預存程序中指定 ,以使用目前的資料庫執行個體初始化新的群組。

    如需 範例中名為 之預存程序的詳細資訊,請參閱 管理主動-主動叢集

步驟 5:在作用中叢集中的其他資料庫執行個體上開始複寫

對於作用中叢集中的每個資料庫執行個體,請使用SQL用戶端連線至執行個體,並執行下列預存程序。group_replication_user_password 將 取代為 rdsgrprepladmin 使用者的密碼。

call mysql.rds_set_configuration('binlog retention hours', 168); -- 7 days binlog call mysql.rds_group_replication_create_user('group_replication_user_password'); call mysql.rds_group_replication_set_recovery_channel('group_replication_user_password'); call mysql.rds_group_replication_start(0);

此範例會將 binlog retention hours值設定為 168,這表示二進位日誌檔案會在每個資料庫執行個體上保留七天。您可以調整此值以符合您的需求。

此範例0mysql.rds_group_replication_start預存程序中指定 ,將目前的資料庫執行個體加入現有的 群組。

提示

請確定您在作用中叢集中所有其他資料庫執行個體上執行這些預存程序。

步驟 6:(建議) 檢查主動-主動叢集的狀態

若要確保叢集的每個成員都已正確設定,請連線至作用中叢集中的資料庫執行個體,並執行下列SQL命令來檢查叢集的狀態:

SELECT * FROM performance_schema.replication_group_members;

您的輸出應ONLINE會顯示每個資料庫執行個體MEMBER_STATE的 ,如下列範例輸出所示:

+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+ | CHANNEL_NAME | MEMBER_ID | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE | MEMBER_ROLE | MEMBER_VERSION | MEMBER_COMMUNICATION_STACK | +---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+ | group_replication_applier | 9854d4a2-5d7f-11ee-b8ec-0ec88c43c251 | ip-10-15-3-137 | 3306 | ONLINE | PRIMARY | 8.0.35 | MySQL | | group_replication_applier | 9e2e9c28-5d7f-11ee-8039-0e5d58f05fef | ip-10-15-3-225 | 3306 | ONLINE | PRIMARY | 8.0.35 | MySQL | | group_replication_applier | a6ba332d-5d7f-11ee-a025-0a5c6971197d | ip-10-15-1-83 | 3306 | ONLINE | PRIMARY | 8.0.35 | MySQL | +---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+ 3 rows in set (0.00 sec)

如需有關可能MEMBER_STATE值的資訊,請參閱 MySQL 文件中的群組複寫伺服器狀態

步驟 7:(選用) 將資料匯入作用中叢集中的資料庫執行個體

您可以將資料從 MySQL 資料庫匯入作用中叢集中的資料庫執行個體。匯入資料後,群組複寫會將其複寫到叢集中的其他資料庫執行個體。

如需匯入資料的資訊,請參閱 將資料匯入 Amazon RDS MariaDB 或 MySQL 資料庫,減少停機時間

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。