就地升級執行方式 - Amazon Aurora

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

就地升級執行方式

建議您檢閱Aurora MySQL 主要版本就地升級的運作方式中的背景資料。

執行任何預升級規劃和測試,如中所述規劃 Aurora MySQL 叢集的主要版本升級

下列範例會將mydbcluster-cluster資料庫叢集升級至 Aurora MySQL 3.04.1 版。

升級 Aurora MySQL 資料庫叢集的主要版本
  1. 登入 AWS Management Console ,並在 https://console.aws.amazon.com/rds/:// 開啟 Amazon RDS 主控台。

  2. 如果您已對原始資料庫叢集使用自訂參數群組,請建立與新主要版本相容的對應參數群組。對該新參數群組中的組態參數進行任何必要的調整。如需更多詳細資訊,請參閱 就地升級如何影響叢集的參數群組

  3. 在導覽窗格中,選擇 Databases (資料庫)。

  4. 在清單中,選擇您要修改的資料庫叢集。

  5. 選擇 Modify (修改)

  6. 對於 Version (版本),請選擇新的 Aurora MySQL 主要版本。

    我們通常建議使用主要版本的最新次要版本。在這裡,我們選擇目前的預設版本。

    將 Aurora MySQL 資料庫叢集從第 2 版就地升級至第 3 版
  7. 選擇 Continue (繼續)

  8. 在下一頁中,指定執行升級的時間。選擇 During the next scheduled maintenance window (在下一個排程的維護期間) 或 Immediately (立即)。

  9. (選用) 在升級期間,定期檢查 RDS 主控台中的 Events (事件) 頁面。這樣做可協助您監控升級的進度,並找出任何問題。如果升級發生任何問題,請參閱 Aurora 疑難排解我的SQL就地升級 以了解要採取的步驟。

  10. 如果您在此程序開始時建立了新的參數群組,請將自訂參數群組與升級的叢集建立關聯。如需詳細資訊,請參閱就地升級如何影響叢集的參數群組

    注意

    執行此步驟需要再次啟動叢集,才能套用新的參數群組。

  11. (選用) 完成任何升級後測試後,請刪除升級開始時 Aurora 建立的手動快照。

若要升級 Aurora MySQL 資料庫叢集的主要版本,請使用 AWS CLI modify-db-cluster 命令搭配下列必要參數:

  • --db-cluster-identifier

  • --engine-version

  • --allow-major-version-upgrade

  • --apply-immediately--no-apply-immediately *

如果您的叢集使用任何自訂參數群組,也請包含下列其中一個或兩個選項:

  • --db-cluster-parameter-group-name (如果叢集使用自訂叢集參數群組)

  • --db-instance-parameter-group-name (如果叢集中的任何執行個體使用自訂資料庫參數群組)

下列範例會將sample-cluster資料庫叢集升級至 Aurora MySQL 3.04.1 版。升級會立即進行,而不是等待下一個維護時段。

範例

對於 Linux、 macOS或 Unix:

aws rds modify-db-cluster \ --db-cluster-identifier sample-cluster \ --engine-version 8.0.mysql_aurora.3.04.1 \ --allow-major-version-upgrade \ --apply-immediately

在 Windows 中:

aws rds modify-db-cluster ^ --db-cluster-identifier sample-cluster ^ --engine-version 8.0.mysql_aurora.3.04.1 ^ --allow-major-version-upgrade ^ --apply-immediately

您可以將其他 CLI 命令與 modify-db-cluster 合併,建立自動化端對端程序,以執行和驗證升級。如需詳細資訊和範例,請參閱 Aurora MySQL 就地升級教學課程

注意

如果您的叢集是 Aurora 全域資料庫的一部分,就地升級程序會略有差異。呼叫 modify-global-cluster 命令操作,而不是 modify-db-cluster。如需更多詳細資訊,請參閱 全域資料庫的就地主要升級

若要升級 Aurora MySQL 資料庫叢集的主要版本,請搭配下列必要參數使用 RDS API 操作 ModifyDBCluster

  • DBClusterIdentifier

  • Engine

  • EngineVersion

  • AllowMajorVersionUpgrade

  • ApplyImmediately (設定為 truefalse)

注意

如果您的叢集是 Aurora 全域資料庫的一部分,就地升級程序會略有差異。呼叫 ModifyGlobalCluster 操作,而不是 ModifyDBCluster。如需更多詳細資訊,請參閱 全域資料庫的就地主要升級

就地升級如何影響叢集的參數群組

對於與 MySQL 5.7 或 8.0 相容的叢集,Aurora 參數群組具有不同的組態設定集。當您執行就地升級時,升級的叢集及其所有執行個體必須使用對應的叢集和執行個體參數群組。

您的叢集和執行個體可能會使用預設的 5.7 相容參數群組。若是如此,升級的叢集和執行個體會以預設的 8.0 相容參數群組開始。如果您的叢集和執行個體使用任何自訂參數群組,請務必建立對應的 8.0 相容參數群組。此外,亦請務必在升級過程中指定這些項目。

注意

對於大部分參數設定,您可以在兩點選擇自訂參數群組。這些是您建立叢集或在將參數群組與叢集建立關聯時。

不過,如果您對 lower_case_table_names 參數使用非預設設定,則必須預先使用此設定來設定自訂參數群組。然後,在執行快照還原來建立叢集時指定參數群組。在建立叢集之後,對 lower_case_table_names 參數的任何變更都無效。

當您從 Aurora MySQL 第 2 版升級到第 3 版時,我們建議您針對 lower_case_table_names 使用相同的設定。

使用以 Aurora MySQL 為基礎的 Aurora 全域資料庫,只有在將 lower_case_table_names 參數設定為預設並重新啟動全域資料庫時,您才能從 Aurora MySQL 第 2 版升級至第 3 版。如需詳細了解您可以使用的方法,請參閱 主要版本升級

重要

若您在升級過程中指定任何自訂參數群組,請務必在升級完成後手動重新啟動叢集。這麼做可讓叢集開始使用您的自訂參數設定。

在 Aurora MySQL 版本之間對叢集屬性的變更

當您從 Aurora MySQL 第 2 版升級至第 3 版時,請務必確認用於設定或管理 Aurora MySQL 叢集和資料庫執行個體的任何應用程式或指令碼。

此外,變更操作參數群組的程式碼,以考慮預設參數群組名稱對於 5.7 和 8.0 相容叢集不同的事實。Aurora MySQL 第 2 版和第 3 版叢集的預設參數群組名稱分別為 default.aurora-mysql5.7default.aurora-mysql8.0

例如,在升級之前,可能會有如下所示的程式碼套用至叢集。

# Check the default parameter values for MySQL 5.7–compatible clusters. aws rds describe-db-parameters --db-parameter-group-name default.aurora-mysql5.7 --region us-east-1

升級叢集的主要版本後,如下所示修改該程式碼。

# Check the default parameter values for MySQL 8.0–compatible clusters. aws rds describe-db-parameters --db-parameter-group-name default.aurora-mysql8.0 --region us-east-1

全域資料庫的就地主要升級

若為 Aurora 全域資料庫,您可以升級全域資料庫叢集。Aurora 會自動同時升級所有叢集,並確保其皆執行相同的引擎版本。這項要求是因為對系統資料表、資料檔案格式等所做的任何變更都會自動複寫至所有次要叢集。

請遵循中的說明進行Aurora MySQL 主要版本就地升級的運作方式 在您指定要升級的內容時,請確認已選擇全域資料庫叢集,而非其中包含的其中一個叢集。

如果您使用 AWS Management Console,請選擇具有角色全域資料庫的項目。

升級全域資料庫叢集

如果您使用 AWS CLI 或 RDS API,請呼叫 modify-global-cluster 命令或 ModifyGlobalCluster 操作來啟動升級程序。您會使用其中一個,而不是 modify-db-clusterModifyDBCluster

注意

在執行 Aurora 全球資料庫的主要版本升級時,無法為全域資料庫叢集指定自訂參數群組。在全域叢集的每個區域中建立您的自訂參數群組。然後,在升級後手動將其套用至區域叢集。

若要使用 升級 Aurora MySQL 全域資料庫叢集的主要版本 AWS CLI,請使用 modify-global-cluster 命令搭配下列必要參數:

  • --global-cluster-identifier

  • --engine aurora-mysql

  • --engine-version

  • --allow-major-version-upgrade

下列範例會將全域資料庫叢集升級至 Aurora MySQL 3.04.2 版。

範例

對於 Linux、 macOS或 Unix:

aws rds modify-global-cluster \ --global-cluster-identifier global_cluster_identifier \ --engine aurora-mysql \ --engine-version 8.0.mysql_aurora.3.04.2 \ --allow-major-version-upgrade

在 Windows 中:

aws rds modify-global-cluster ^ --global-cluster-identifier global_cluster_identifier ^ --engine aurora-mysql ^ --engine-version 8.0.mysql_aurora.3.04.2 ^ --allow-major-version-upgrade

具有跨區域僅供讀取複本的資料庫叢集就地升級

您可以使用就地升級程序升級具有跨區域僅供讀取複本的 Aurora 資料庫叢集,但有一些考量:

  • 您必須先升級僅供讀取複本資料庫叢集。如果您嘗試先升級主要叢集,您將收到錯誤訊息,例如:

    無法升級資料庫叢集 test-xr-primary-cluster,因為關聯的 Aurora 跨區域複本 test-xr-replica-cluster 尚未修補。升級 Aurora 跨區域複本,然後再試一次。

    這表示主要資料庫叢集的資料庫引擎版本不能高於複本叢集。

  • 升級主要資料庫叢集之前,請先停止寫入工作負載,並停用對主要叢集寫入器資料庫執行個體的任何新連線請求。

  • 當您升級主要叢集時,請選擇 參數設定為支援二進位記錄複寫的值的自訂資料庫叢集binlog_format參數群組,例如 MIXED

    如需搭配 Aurora MySQL 使用二進位記錄的詳細資訊,請參閱 在 Aurora 和我之間SQL或 Aurora 與另一個 Aurora 資料庫叢集之間的複寫 (二進位記錄複寫。如需修改 Aurora MySQL 組態參數的詳細資訊,請參閱 Aurora MySQL 組態參數Amazon Aurora 的參數群組

  • 升級複本叢集之後,請勿等待很久才升級主要資料庫叢集。我們建議不要等待超過下一個維護時段。

  • 升級主要資料庫叢集之後,請重新啟動其寫入器資料庫執行個體。啟用 binlog 複寫的自訂資料庫叢集參數群組在寫入器資料庫執行個體重新啟動之前不會生效。

  • 在您確認跨區域複寫已重新啟動,且次要 中的複本延遲 AWS 區域 為 0 之前,請勿繼續寫入工作負載或啟用寫入器資料庫執行個體的連線。