View a markdown version of this page

升級到 Aurora MySQL 8.4 版 - Amazon Aurora

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

升級到 Aurora MySQL 8.4 版

您可以使用就地主要版本升級,從 Aurora MySQL 第 3 版升級至 8.4 版。不支援從 Aurora MySQL 第 2 版直接升級至 8.4 版。如果您正在執行第 2 版,您必須先升級至第 3 版。

如需主要版本升級程序的一般資訊,請參閱 升級 Amazon Aurora MySQL 資料庫叢集的主要版本

升級到 8.4 版之前

升級之前,請完成下列準備步驟:

Aurora 會在升級開始之前自動執行升級預先檢查。這些預先檢查會識別可能封鎖升級的相容性問題。如需每個預先檢查的詳細資訊,請參閱 將 Aurora MySQL 第 3 版升級至 8.4 版的預先檢查描述

  1. 遷移身分驗證外掛程式。檢閱所有資料庫使用者,並使用 將任何使用者遷移mysql_native_passwordcaching_sha2_password。在 Aurora MySQL 8.4 版中,mysql_native_password外掛程式仍受支援但已棄用。預設值authentication_policy*:caching_sha2_password,因此caching_sha2_password預設會使用 建立新使用者。

    -- Find users using mysql_native_password SELECT user, host, plugin FROM mysql.user WHERE plugin = 'mysql_native_password'; -- Migrate a user to caching_sha2_password ALTER USER 'username'@'host' IDENTIFIED WITH caching_sha2_password BY 'new_password';
  2. 更新複寫 SQL 陳述式。如果您的應用程式或指令碼使用已棄用的複寫陳述式 (例如 SHOW SLAVE STATUSCHANGE MASTER TO),請更新它們以使用取代陳述式。這些舊陳述式會在 8.4 版中傳回語法錯誤。如需完整清單,請參閱比較 Aurora MySQL 第 3 版和 Aurora MySQL 第 8.4 版

  3. 檢查移除的參數。如果您的自訂參數群組使用在 8.4 版 (例如 expire_logs_daysdefault_authentication_plugin) 中移除的任何參數,請使用取代參數建立新的 MySQL 8.4 相容參數群組。將任何必要的自訂參數值套用至新的參數群組。如需詳細資訊,請參閱比較 Aurora MySQL 第 3 版和 Aurora MySQL 第 8.4 版

  4. 檢查是否有不相容的 SQL 語法。檢閱您的應用程式程式碼是否有移除的語法LOCK TABLES ... WRITE,例如 LOW_PRIORITY 、 和 AUTO_INCREMENT FLOATDOUBLE欄。

  5. 檢查外部金鑰限制條件。如果您的結構描述使用參考非唯一金鑰的外部金鑰,請注意,在 8.4 版中預設會封鎖建立新的此類外部金鑰。現有的外部金鑰會繼續運作,但新的外部金鑰需要設定 restrict_fk_on_non_standard_key=OFF

  6. 檢查是否有新的預留關鍵字。確認您的資料庫物件未使用 MySQL 8.4 中新增的任何預留關鍵字作為未引用的識別符。

  7. 測試升級。建議您先在生產叢集的複製上測試升級,再升級生產叢集本身。

  8. 檢閱安全考量。如需身分驗證外掛程式變更、TLS 和密碼變更、密碼政策和validate_password元件、新動態權限和升級預先檢查的詳細資訊,例如 deprecatedDefaultAuthauroraValidatePasswordPluginCheck,請參閱 從 Aurora MySQL 第 3 版升級至第 8.4 版的安全性考量事項

如何升級至 8.4 版

若要執行升級,請遵循中所述的就地主要版本升級程序升級 Amazon Aurora MySQL 資料庫叢集的主要版本。修改資料庫叢集時,請選取目標版本 8.4 引擎版本。

或者,您可以使用 使用 Amazon Aurora 藍/綠部署進行資料庫更新 升級,將停機時間降至最低。藍/綠部署會建立預備環境,搭配您目前的生產環境執行新版本,讓您在切換之前進行測試和驗證。

升級完成後,請執行 中所述的升級後清除步驟Aurora MySQL 8.4 版的升級後清除