本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
升級資料庫執行個體引擎版本
Amazon RDS Amazon 提供每個受支援的資料庫引擎的更新版本,因此您可以保留資料庫執行個體 up-to-date。較新版本包含資料庫引擎的錯誤修正、安全性強化和其他改善。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
。
如需特定資料庫引擎的主要和次要版本升級的詳細資訊,根據您的資料庫引擎而定,請參閱以下文件:
對於主要版本升級,您必須透過、或 RDS API 手動修改資料庫引擎版本。 AWS Management Console AWS CLI若是次要版本升級,您可以手動修改引擎版本,或選擇啟用自動次要版本升級選項。
注意
資料庫引擎升級需要停機。您可以使用藍/綠部署,將資料庫執行個體升級所需的停機時間降至最低。如需詳細資訊,請參閱 使用 Amazon RDS 藍/綠部署進行資料庫更新。
手動升級引擎版本
若要手動升級資料庫執行個體的引擎版本 AWS Management Console,您可以使用 AWS CLI、或 RDS API。
使用主控台升級資料庫執行個體的引擎版本
-
登入 AWS Management Console 並開啟 Amazon RDS 主控台,網址為 https://console.aws.amazon.com/rds/
。 -
在導覽窗格中選擇 Databases (資料庫),然後選擇您要升級的資料庫執行個體。
-
選擇 Modify (修改)。Modify DB instance (修改資料庫執行個體) 頁面隨即出現。
-
在 DB engine version (資料庫引擎版本) 中,選擇新版本。
-
選擇 Continue (繼續),並檢查修改的摘要。
-
決定何時排定升級。若要立即套用變更,請選擇 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
。
範例
對於LinuxmacOS、或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
– 會以此資料庫引擎版本編號為目標進行升級。如需有效引擎版本的相關資訊,請使用描述 B 作EngineVersions業。 -
AllowMajorVersionUpgrade
– 是否允許主要版本升級。若要這麼做,請設為true
值。 -
ApplyImmediately
– 指出是否要立即套用變更,或等到下個維護時段再套用。若要立即套用變更,請將值設為true
。若要在下一次維護時段套用變更,請將值設為false
。
自動升級次要引擎版本
次要引擎版本是在主要引擎版本內對於資料庫引擎版本的更新。例如,主要引擎版本可能是 9.6,而其內部有次要引擎版本 9.6.11 和 9.6.12。
如果要讓 Amazon RDS 自動升級資料庫的資料庫引擎版本,您可以對該資料庫啟用自動次要版本升級。
適用於 SQL 伺服器的 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
參數。
判斷維護更新的可用性
若要判斷資料庫執行個體是否有維護更新 (例如資料庫引擎版本升級),您可以使用主控台或 RDS API。 AWS CLI您也可以手動升級資料庫引擎版本,並調整維護時段。如需詳細資訊,請參閱 維持資料庫執行個體。
尋找自動次要版本升級目標
您可以使用下列 AWS CLI 命令來判斷特定中指定次要資料庫引擎版本的目前自動次要升級目標版本 AWS 區域。這個命令可能的 --engine
值,列在 CreateDBInstance 內 Engine
參數的說明中。
對於LinuxmacOS、或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 區域 (us-east-2) 中 MySQL 次要版本 8.0.11 的自動次要升級目標。
對於LinuxmacOS、或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 的引擎版本。