本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
升級資料庫執行個體引擎版本
Amazon RDS 會提供每個受支援資料庫引擎的較新版本,讓您的資料庫執行個體保持在最新版本。較新版本包含資料庫引擎的錯誤修正、安全性強化和其他改善。Amazon RDS支援新版本的資料庫引擎時,您可以選擇如何和何時升級資料庫執行個體。
升級有兩種:主要版本升級和次要版本升級。一般而言,主要引擎版本升級可能引進與現有應用程式不相容的變更。反之,次要版本升級只包含與現有應用程式回溯相容的變更。
若是多可用區域資料庫叢集,只有 RDS for PostgreSQL 可支援主要版本升級。支援多可用區域資料庫叢集的所有引擎都支援次要版本升級。如需詳細資訊,請參閱升級適用於 Amazon RDS 的多可用區域資料庫叢集引擎版本。
每個資料庫引擎有明確的版本編號順序。例如,RDS for MySQL 5.7 和 8.0 是主要引擎版本,而從任何 5.7 版升級到任何 8.0 版是主要版本升級。RDS for MySQL 5.7.22 和 5.7.23 版是次要版本,而從 5.7.22 升級到 5.7.23 是次要版本升級。
重要
升級資料庫執行個體時,您無法修改資料庫執行個體。升級期間,資料庫執行個體狀態為 upgrading
。
如需特定資料庫引擎的主要和次要版本升級的詳細資訊,根據您的資料庫引擎而定,請參閱以下文件:
對於主要版本升級,您必須透過 AWS Management Console AWS CLI或 RDS API 手動修改資料庫引擎版本。若是次要版本升級,您可以手動修改引擎版本,或選擇啟用自動次要版本升級選項。
注意
資料庫引擎升級需要停機。您可以使用藍/綠部署,將資料庫執行個體升級所需的停機時間降至最低。如需詳細資訊,請參閱使用 Amazon RDS 藍/綠部署進行資料庫更新。
手動升級引擎版本
若要手動升級資料庫執行個體的引擎版本,您可以使用 AWS Management Console AWS CLI、 或 RDS API。
使用主控台升級資料庫執行個體的引擎版本
-
登入 AWS Management Console ,並在 https://https://console.aws.amazon.com/rds/
開啟 Amazon RDS 主控台。 -
在導覽窗格中選擇 Databases (資料庫),然後選擇您要升級的資料庫執行個體。
-
選擇 Modify (修改)。Modify DB instance (修改資料庫執行個體) 頁面隨即出現。
-
在 DB engine version (資料庫引擎版本) 中,選擇新版本。
-
選擇 Continue (繼續),並檢查修改的摘要。
-
決定何時排程升級:
-
若要將變更放入待定修改佇列,請在下一個排定的維護時段選擇套用。在下一個維護時段,RDS 會套用佇列中任何待定的變更。
-
若要立即套用變更,請選擇 Apply immediately (立即套用)。在某些情況下,選擇此選項會導致停機。如需更多詳細資訊,請參閱 使用排程修改設定。
-
-
在確認頁面上,檢閱您的變更。如果都正確,請選擇 Modify DB instance (修改資料庫執行個體) 以儲存您的變更。
或者,選擇 Back (上一步) 以編輯變更,或是選擇 Cancel (取消) 以取消變更。
若要升級資料庫執行個體的引擎版本,請使用 CLI modify-db-instance 命令。指定下列參數:
-
--db-instance-identifier
– 資料庫執行個體名稱。 -
--engine-version
– 會以此資料庫引擎版本編號為目標進行升級。如需有效引擎版本的資訊,請使用 AWS CLI describe-db-engine-versions 命令。
-
--allow-major-version-upgrade
– 升級主要版本。 -
--no-apply-immediately
– 在下次維護時段套用變更。若要立即套用變更,請使用--apply-immediately
。
範例
對於 Linux、 macOS或 Unix:
aws rds modify-db-instance \ --db-instance-identifier
mydbinstance
\ --engine-versionnew_version
\ --allow-major-version-upgrade \ --no-apply-immediately
在 Windows 中:
aws rds modify-db-instance ^ --db-instance-identifier
mydbinstance
^ --engine-versionnew_version
^ --allow-major-version-upgrade ^ --no-apply-immediately
若要升級資料庫執行個體的引擎版本,請使用 ModifyDBInstance 動作。指定下列參數:
-
DBInstanceIdentifier
– 資料庫執行個體的名稱,例如
。mydbinstance
-
EngineVersion
– 會以此資料庫引擎版本編號為目標進行升級。如需有效引擎版本的資訊,請使用 DescribeDBEngineVersions 操作。 -
AllowMajorVersionUpgrade
– 是否允許主要版本升級。若要這麼做,請設為true
值。 -
ApplyImmediately
– 指出是否要立即套用變更,或等到下個維護時段再套用。若要立即套用變更,請將值設為true
。若要在下一次維護時段套用變更,請將值設為false
。
自動升級次要引擎版本
自動次要版本升級會定期將資料庫更新為最新的資料庫引擎版本。不過,升級不一定包含最新的資料庫引擎版本。如果您需要在特定時間將資料庫保留在特定版本上,我們建議您根據所需的排程手動升級至所需的資料庫版本。如果發生重大安全問題或版本達到end-of-support日期時,Amazon RDS 可能會套用次要版本升級,即使您尚未啟用自動次要版本升級選項。如需詳細資訊,請參閱特定資料庫引擎的升級文件。
自動次要版本升級的運作方式
升級目標是 Amazon RDS 升級資料庫的資料庫引擎版本。當符合下列條件時,系統會將次要引擎版本指定為升級目標:
-
資料庫執行的資料庫引擎次要版本低於目標次要引擎版本。
您可以查看資料庫詳細資訊頁面的組態索引標籤或執行 CLI 命令 ,來尋找資料庫執行個體的目前引擎版本
describe-db-instances
。 -
資料庫已啟用自動次要版本升級。
RDS 會將升級排程為在維護時段自動執行。在升級期間,RDS 會執行下列動作:
-
執行系統預先檢查,以確保資料庫正常運作並準備好進行升級
-
將資料庫引擎升級至目標次要引擎版本
-
執行升級後任務
-
將資料庫升級標示為完成
自動升級會導致停機。停機時間的長度取決於多種因素,包括資料庫引擎類型和資料庫的大小。
開啟自動次要版本升級
當您執行以下任務時,您可以控制是否對資料庫執行個體啟用自動次要版本升級:
-
從 Amazon S3 匯入資料庫執行個體 (適用於 Amazon S3 上的 MySQL 備份)
當您執行以下任務時,您可以控制是否對資料庫執行個體啟用自動次要版本升級,方法如下:
-
使用主控台,設定 Auto minor version upgrade (自動次要版本升級) 選項。
-
使用 AWS CLI設定
--auto-minor-version-upgrade|--no-auto-minor-version-upgrade
選項。 -
使用 RDS API,設定
AutoMinorVersionUpgrade
參數。
判斷維護更新的可用性
若要判斷資料庫執行個體是否可使用維護更新,例如資料庫引擎版本升級,您可以使用 主控台 AWS CLI或 RDS API。您也可以手動升級資料庫引擎版本,並調整維護時段。如需詳細資訊,請參閱維持資料庫執行個體。
尋找自動次要版本升級目標
您可以使用下列 AWS CLI 命令來判斷特定 中指定次要資料庫引擎版本的目前自動次要升級目標版本 AWS 區域。這個命令可能的 --engine
值,列在 CreateDBInstance 內 Engine
參數的說明中。
對於 Linux、 macOS或 Unix:
aws rds describe-db-engine-versions \ --engine
engine
\ --engine-versionminor-version
\ --regionregion
\ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{AutoUpgrade:AutoUpgrade,EngineVersion:EngineVersion}" \ --output text
在 Windows 中:
aws rds describe-db-engine-versions ^ --engine
engine
^ --engine-versionminor-version
^ --regionregion
^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{AutoUpgrade:AutoUpgrade,EngineVersion:EngineVersion}" ^ --output text
例如,下列 AWS CLI 命令會判斷美國東部 (俄亥俄) AWS Region (us-east-2) 中 MySQL 次要版本 8.0.11 的自動次要升級目標。
對於 Linux、 macOS或 Unix:
aws rds describe-db-engine-versions \ --engine mysql \ --engine-version 8.0.11 \ --region us-east-2 \ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{AutoUpgrade:AutoUpgrade,EngineVersion:EngineVersion}" \ --output table
在 Windows 中:
aws rds describe-db-engine-versions ^ --engine mysql ^ --engine-version 8.0.11 ^ --region us-east-2 ^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{AutoUpgrade:AutoUpgrade,EngineVersion:EngineVersion}" ^ --output table
輸出類似如下。
---------------------------------- | DescribeDBEngineVersions | +--------------+-----------------+ | AutoUpgrade | EngineVersion | +--------------+-----------------+ | False | 8.0.15 | | False | 8.0.16 | | False | 8.0.17 | | False | 8.0.19 | | False | 8.0.20 | | False | 8.0.21 | | True | 8.0.23 | | False | 8.0.25 | +--------------+-----------------+
在此範例中,此 AutoUpgrade
值 是 True
(若為 MySQL 版本 8.0.23)。因此,自動次要升級目標是 MySQL 版本 8.0.23,其已在輸出中反白顯示。
重要
如果您打算在不久將 RDS for PostgreSQL 資料庫執行個體遷移至 Aurora PostgreSQL 資料庫叢集,我們強烈建議您在規劃階段的早期關閉資料庫執行個體的自動次要版本升級。如果 RDS for PostgreSQL 版本尚未得到 Aurora PostgreSQL 支援,遷移至 Aurora PostgreSQL 可能會延遲。如需 Aurora PostgreSQL 版本的相關資訊,請參閱 Amazon Aurora PostgreSQL 的引擎版本。