Databases for MySQL 8.4 GA

作為我們提供豐富且成熟的雲端資料庫組合承諾的一部分,Cloud Databases 發佈 MySQL 版本 8.4。

新的 Databases for MySQL 部署

對於新的 Cloud Databases 部署,請備份現有的 v8.0 範例,並將其匯入 v8.4 部署。 使用 mysqldump 或 mydumper 等工具匯入 Databases for MySQL v8.4 部署。 如需更多資訊,請參閱《 遷移至 Databases for MySQL 》。

現有 Databases for MySQL v8.0 部署

若要將現有的 v8.0 部署從 IBM Cloud® Databases for MySQL 遷移至新版 v8.4,您必須執行主要版本升級。 建議的操作路徑是將現有 v8.0 部署的 備份還原至 運行 MySQL 的新部署環境中。v8.4 您可以透過使用者介面、命令列介面或應用程式介面啟動此升級程序。 有關執行此主要版本升級的詳細逐步說明,請參閱 《升級至新主要版本》

升級完成後,變更無法還原。 這些變更不相容,您無法在 MySQL 8.0 上使用來自 MySQL 8.4 的資料目錄。 請保留您的 MySQL v8.0 備份,因其有助於在需要撤銷變更時,將資料還原至 MySQL v8.0 實例。

升級必要條件

在嘗試任何升級操作之前,請參閱 MySQL's《為升級做好安裝準備 》以確保系統具備升級條件。

MySQL 8.4長期支援版簡介

MySQL 8.4 是新版的長期支援(LTS)發行版本。 作為長期支援版本,其功能在最初的 8.4.0 發行後即保持穩定且固定。 隨著 MySQL 8.0 進入終止支援階段,遷移至 MySQL 8.4 對於持續獲得技術支援、錯誤修復及安全性更新至關重要。

Databases for MySQL 的主要功能變更 8.4

Databases for MySQL 為運行 MySQL 版本 8.4: 的資料庫執行個體引入以下新功能:

  • **驗證機制:**MySQL 8.4 強制採用 caching_sha2_password 作為預設驗證外掛程式,並完全移除 default_authentication_plugin 變數。 目前使用 mysql_native_password 的客戶必須將其帳戶遷移至 caching_sha2_password,以避免連線失敗。 有關更多信息,請參閱 第 8.4.1.1 節 “原生可插拔身份驗證”
  • **MySQL 8.4:複製術語更新:**MySQL 8.4 透過移除 SQL 語法中的非包容性術語(例如 MasterSlave ),強制採用包容性語言。這意味著已棄用的複製 SQL 語句不再受支援,並將引發語法錯誤。 例如,使用 SHOW BINARY LOG STATUS 代替 SHOW MASTER STATUS,並使用 SHOW REPLICA STATUS 代替 SHOW SLAVE STATUS。 自動化程序與設定應更新為使用這些新名稱。 完整聲明變更清單請見此處:MySQL 8.4 自 MySQL 8.0 版本以來的更新內容
  • 參數行為變更:
    • binlog_transaction_compression 預設為 ON,以減少網路傳輸時間及儲存空間使用量。
    • replica_parallel_workers 預設值為 200,可顯著提升並行度,使副本上的交易重播速度更快。
    • innodb_flush_log_at_trx_commit 預設值為 1,以確保主節點上資料的最大持久性。
    • binlog_transaction_compression_level_zstd 預設值為 3,以平衡壓縮效率與 CPU 資源消耗。
  • 已棄用或移除的參數:
    • AUTO_INCREMENTMySQL 8.4 不再支援 AUTO_INCREMENT on FLOATDOUBLE 欄位。 升級前,您必須修改任何使用此組合的資料表,以避免升級失敗。
    • 移除複寫陳述式與變數:已移除大量 MASTER /SLAVE* 指令及狀態變數。 這意味著任何依賴這些狀態變數的腳本或工具將無法繼續運作。 欲查看已移除陳述式與變數的完整清單,請參閱 《自 MySQL 8.0 起,MySQL 8.4 的新增功能》
    • 驗證變數:default_authentication_plugin 變數現已移除。
  • 顯著變更:
    • 新增保留關鍵字:MySQL 8.4 保留了諸如 MANUAL, PARALLEL, QUALIFY,及 等關鍵 TABLESAMPLE 字。 若您的資料結構將這些作為未加引號的識別符號,升級後查詢將會失敗。 升級前請審核並標註這些識別符號。
    • 空間索引升級要求:升級路徑中已知的問題可能導致空間索引損壞。 為確保資料完整性,我們建議在升級前刪除所有空間索引,並於遷移完成後立即重新建立。
    • 自動直方圖更新:MySQL 8.4 引入自動直方圖更新功能,透過消除手動更新需求來提升查詢優化效能。 要啟用特定直方圖的自動更新功能,只需執行 ANALYZE TABLE UPDATE HISTOGRAM 並附加 選項 AUTO UPDATE 即可。
    • 特權增強條款:該 SET_USER_ID 特權已被 及 SET_ANY_DEFINER 取代 ALLOW_NONEXISTENT_DEFINER
    • 全局交易標識碼 (GTIDs):導入使用 GTID 標記交易群組的功能,以強化追蹤能力。

欲查看所有 MySQL 8.4 版本功能與變更清單,請參閱 .4 版本相較於 MySQL 8MySQL 8.0 版本的新功能 文件中的 MySQL。

半同步轉為非同步

從 Databases for MySQL v8.0 升級至 v8.4 時,預設的複寫架構將從半同步轉為非同步複寫。 此變更透過確保主節點不會因等待副本確認而停滯,從而提升寫入效能與容錯能力,使您的資料庫環境更為穩健且持續保持高速運作。 此舉透過縮短故障轉移時間並提升整體系統反應能力,從而增強高可用性。 如需 更多 資訊,請參閱《瞭解 Databases for MySQL 的高可用性與災難復原》。