本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Aurora MySQL 資料庫引擎更新 2024-11-18 (3.08.0 版,與 MySQL 8.0.39 相容)
版本:3.08.0
Aurora MySQL 3.08.0 已全面推出。Aurora MySQL 3.08 版本與 MySQL 8.0.39 相容。如需有關已進行之社群變更的詳細資訊,請參閱 MySQL 8.0 版本備註
如需 Aurora MySQL 第 3 版中新功能的詳細資訊,請參閱 與 MySQL 8.0 相容的 Aurora MySQL 第 3 版。若要了解 Aurora MySQL 第 3 版與 Aurora MySQL 第 2 版之間的差異,請參閱比較 Aurora MySQL 第 2 版與 Aurora MySQL 第 3 版。如需 Aurora MySQL 第 3 版和 MySQL 8.0 Community Edition 的比較,請參閱《Amazon Aurora 使用者指南》中的 Aurora MySQL 第 3 版和 MySQL 8.0 Community Edition 的比較。
目前支援的 Aurora MySQL 版本為 2.11.*、2.12.*、3.04.*、3.05.*、3.06.*、3.07.* 和 3.08.*。
您可以從任何目前支援的 Aurora MySQL 第 2 版叢集執行就地升級、還原快照,或使用 Amazon RDS 藍/綠部署啟動受管藍/綠升級到 Aurora MySQL 3.08.0 版叢集。
如需規劃升級至 Aurora MySQL 第 3 版的資訊,請參閱規劃 Aurora MySQL 叢集的主要版本升級。如需有關 Aurora MySQL 升級的一般資訊,請參閱《Amazon Aurora 使用者指南》中的升級 Amazon Aurora MySQL 資料庫叢集。
如需故障診斷資訊,請參閱《Amazon Aurora 使用者指南》中的 Aurora MySQL 就地升級的故障診斷。
如果您有任何問題或疑慮,可在社群論壇和透過 AWS Support 取得 AWS Support
新功能
-
新增三個新的 Amazon CloudWatch 指標,允許使用者監控 InnoDB 清除程序:
-
PurgeBoundary
-
PurgeFinishedPoint
-
TruncateFinishedPoint
如需詳細資訊,請參閱《Amazon Aurora 使用者指南》中的 Amazon Aurora 的 Amazon CloudWatch 指標。
-
-
新增了新的 CloudWatch 指標
TransactionAgeMaximum
,允許使用者識別可能阻礙清除界限的長時間執行交易。如需詳細資訊,請參閱《Amazon Aurora 使用者指南》中的 Amazon Aurora 的 Amazon CloudWatch 指標。 -
新增三個新的 CloudWatch 指標來out-of-memory(OOM):
-
AuroraMillisecondsSpentInOomRecovery
-
AuroraNumOomRecoverySuccessful
-
AuroraNumOomRecoveryTriggered
如需詳細資訊,請參閱《Amazon Aurora 使用者指南》中的 Amazon Aurora 的 Amazon CloudWatch 指標。
-
-
將避免out-of-memory(OOM) 的三個 CloudWatch 指標從執行總計變更為增量計數器:
-
AuroraMemoryNumDeclinedSqlTotal
-
AuroraMemoryNumKillConnTotal
-
AuroraMemoryNumKillQueryTotal
如需詳細資訊,請參閱《Amazon Aurora 使用者指南》中的 Amazon Aurora 的 Amazon CloudWatch 指標。
-
-
新增兩個全域狀態變數,以顯示內部暫存資料表
使用的記憶體量: aurora_temptable_ram_allocation
和aurora_temptable_max_ram_allocation
。這些全域狀態變數可提高可觀測性,並有助於診斷與內部暫存資料表記憶體用量相關的問題。如需詳細資訊,請參閱《Amazon Aurora 使用者指南》中的 Aurora MySQL 全域狀態變數。
-
引進新的系統變數
aurora_optimizer_trace_print_before_purge
,以在伺服器從記憶體清除追蹤之前,將最佳化工具追蹤列印到錯誤日誌。根據系統變數 optimizer_trace_offset 和 optimizer_trace_limit 設定的閾值,可以觸發清除。 -
新增對下列資料庫執行個體類別的支援:
-
db.r7i
-
db.r8g
如需詳細資訊,請參閱《Amazon Aurora 使用者指南》中的資料庫執行個體類別支援的資料庫引擎。
-
改善項目
已修正安全問題和 CVEs:
-
引進新的使用者進行二進位日誌 (binlog) 複寫,
rdsrepladmin_priv_checks_user
。如需詳細資訊,請參閱《Amazon Aurora 使用者指南》中的權限檢查使用者是否有二進位日誌複寫。 -
修正 Aurora MySQL 預存程序的輸入參數可能無法正確處理的問題。
此版本包含 MySQL 8.0.39 以前的所有社群 CVE 修正。包含下列 CVE 修正:
可用性改進項目:
-
已修正在已立即捨棄資料欄的資料表上執行資料處理語言 (DML) 命令後,可能導致伺服器意外重新啟動的瑕疵,使得捨棄和未捨棄的資料欄計數大於 1017。
-
修正可能導致資料庫日誌檔案未正確輪換的問題,導致資料庫執行個體上的本機儲存空間使用
量增加。 -
已修正在啟用 aurora_oom_response 時,可能導致資料庫執行個體在低記憶體條件下停止關閉連線的問題,導致記憶體out-of-memory重新啟動,否則可能會遭到避免。
-
已修正釋出用於日誌應用程式的記憶體時,可能導致讀取器資料庫執行個體重新啟動的問題。
-
修正了計算全文搜尋 (FTS) 索引的內部指標時可能導致資料庫重新啟動的問題。
-
已修正在子查詢中使用子
LIMIT
句以及索引條件下推時,有時會產生不正確查詢結果的社群問題。 -
修正導致記憶體存取違規導致釋出執行緒不再擁有的互斥物件的問題。
-
修正在轉送日誌復原
期間處理大量轉送日誌檔案時,可能導致二進位日誌 (binlog) 複本重新啟動的問題。 -
已修正啟用寫入轉送時,可能導致 Aurora 讀取器資料庫執行個體重新啟動的問題。
-
修正包含多個
UNION
子句的查詢可能會配置大量記憶體,導致資料庫執行個體重新啟動的問題。 -
修正在讀取器資料庫執行個體上執行平行查詢時,導致寫入器資料庫執行個體重新啟動的問題。
-
修正 binlog 複寫由於執行
FLUSH RELAY LOGS
命令時在複本的 I/O 執行緒上遇到死鎖而停滯在複本上的問題。 -
修正在已啟用增強型 Binlog 的資料庫叢集上處理大型 GTID 集時,導致資料庫執行個體重新啟動的問題。
-
修正啟用記憶體內轉送日誌快取時,可能導致 binlog 複本重新啟動的問題。使用單執行緒二進位日誌複寫或啟用 GTID 自動定位
的多執行緒複寫時,在 Aurora MySQL 受管 binlog 複本上啟用記憶體內轉送日誌快取。 -
修正在資料庫引擎啟動期間套用資料控制語言 (DCL) 陳述式時,可能導致 binlog 複本執行個體重新啟動的問題。
-
修正在極少數情況下,在執行由寫入器資料庫執行個體更新之資料表上的
SELECT
查詢時,讀取器資料庫執行個體因死鎖而重新啟動的問題。 -
修正可能導致 Aurora Global Database Reader 執行個體使用作用中寫入轉送工作階段重新啟動的問題。
-
修正在寫入器資料庫執行個體上發生特定罕見交易遞交訂單時,可能導致 Aurora 僅供讀取複本重新啟動的問題。
-
修正在已啟用增強型 binlog 的資料庫執行個體上執行時,當排程事件
取消時,可能導致資料庫重新啟動的問題。
一般改進:
-
修正用戶端連線可能會在零停機時間修補 (ZDP) 或零停機時間重新啟動 (ZDR) 期間卡住的問題。
-
修正在極少數情況下,由於處理開放資料表故障時可能發生的記憶體管理問題,而導致資料庫執行個體重新啟動的問題。
-
已修正在具有主索引鍵資料欄和唯一索引鍵資料欄的資料表上執行並行
INSERT
陳述式,以及當陳述式在不同資料列上具有唯一索引鍵違規時,可能導致 SQLINSERT
陳述式在某些資料列上遇到非預期AUTO_INCREMENT
的主索引鍵違規錯誤或警告的問題。 -
效能結構描述檢測
memory/sql/sp_head::main_mem_root
器現在是受控的檢測器。因此,為剖析和表示預存程式而配置的記憶體現在會對每個連線的記憶體限制做出貢獻。 -
修正更新期間透過空間索引無法讀取資料列的問題。
-
修正使用者無法停用本機寫入轉送的問題。
-
修正使用寫入轉送時,
SELECT COUNT
查詢可能傳回錯誤結果的問題。 -
修正當 ZDP 在查詢中錯誤還原設定為提示的工作階段變數時,可能導致查詢結果不正確的問題。
-
已修正在升級案例中大於 innodb_max_undo_log_size
閾值時,復原資料表空間的自動截斷問題。 -
修正當
innodb_flush_log_at_trx_commit
設為 時,不會測量遞交延遲和遞交輸送量的問題0
。 -
修正可能導致 Aurora 複本延遲回報不正確的問題。
-
修正使用 Aurora Global Database 時為
threads_running
變數提供不正確值的問題。 -
修正以下問題:啟用平行次要索引最佳化的 Aurora MySQL binlog 複本在外部索引鍵的資料表上套用複寫變更時,會發生重新啟動。
-
修正在擴展或縮減事件期間,長時間調整鎖定雜湊表的大小所造成的重新啟動問題。
-
修正先前啟用增強型 Binlog 時,停用二進位記錄後可能導致資料庫執行個體重新啟動的問題。
-
引進最佳化,以在有大量資料表時,減少邏輯資料字典
復原期間的記憶體使用量。 -
已設定二進位日誌複寫
ERROR 1377 (HY000): Fatal error during log purge
時,修正使用者在 binlog 複本上執行 mysql.rds_set_external_source 預存程序時發生錯誤的問題。 -
已修正在 ZDR 之後無法保留使用者角色權限的瑕疵。
-
修正與檢視定義者的預設角色相關聯的記憶體問題。
-
修正執行 時可能導致資料庫執行個體重新啟動的問題
SHOW VOLUME STATUS
。 -
修正擴展或縮減事件期間長時間調整緩衝集區大小所造成的重新啟動問題。
-
修正邏輯預先讀取 (LRA) 在縮減規模事件期間因緩衝區調整大小而存取釋放頁面所造成的重新啟動問題。
-
修正以下問題:當
SELECT
查詢使用LEFT OUTER JOIN
搭配使用具體化做為策略的半聯結轉換時,處理查詢傳回不正確的結果。 -
已修正在停用寫入轉送的過程中,可能導致失敗的問題。
-
修正
ActiveTransactions
和BlockedTransactions
CloudWatch 指標回報低於預期值的問題。 -
修正當複本處理從父資料表和子資料表明確刪除的多資料表
DELETE
陳述式時,binlog 複寫會中斷的問題。 -
修正使用傳回
enum
類型的使用者定義函數處理觸發時,可能導致資料庫執行個體重新啟動的問題。 -
修正以下問題:使用
binlog_format
設定為 進行複寫時,DMLLatency
CloudWatch 指標會顯示二進位日誌複本執行個體的不正確值row
。 -
修正了 MySQL 事件排程器
執行的慢速 DELETE
、INSERT
和UPDATE
查詢未記錄在慢速查詢日誌中的問題,除非前面有慢速SELECT
查詢。 -
修正在極少數情況下導致 Aurora 僅供讀取複本間歇性無法使用或資料表定義不一致的問題,有時在複本
Table does not exist
上出現錯誤 。這是因為複本上的並行讀取查詢和寫入器資料庫執行個體上的資料定義語言 (DDL) 操作。 -
已修正導致
SHOW BINARY LOGS
命令在已啟用或先前已啟用增強型 Binlog 的資料庫叢集上執行時間較長的問題。如果多個SHOW BINARY LOGS
命令同時執行,此問題也可能會導致遞交延遲增加。
升級和遷移:
-
對於具有大量資料庫物件 (例如資料表、觸發和常式) 的資料庫叢集,已改善主要版本從 Aurora MySQL 第 2 版升級至第 3 版的效能。
對於較大的資料庫執行個體類別,資料庫升級程序會使用多個執行緒平行將傳統 MySQL 物件中繼資料升級至新的原子 MySQL 8.0 資料字典。
-
修正目標 Aurora MySQL 資料庫引擎版本為 3.04.0 或更高版本時,導致升級或遷移失敗的問題。當
lower_case_table_names
資料庫叢集參數設定為1
,且 MySQL 資料庫定序與小寫資料表名稱不相容時,就會發生這種情況。
MySQL 社群版錯誤修正整合
此版本包含所有社群錯誤修正,包括 8.0.39,以及下列項目。如需詳細資訊,請參閱 Aurora MySQL 3.x 資料庫引擎更新修正的 MySQL 錯誤。
-
已修正某些同時具有
JOIN
和UNION
操作的查詢,導致結果集錯誤省略NULL
值的問題。(社群錯誤修正 #114301)