Aurora MySQL 資料庫引擎更新 2022-10-25 (2.11.0 版,與 MySQL 5.7.12 相容)。此版本不適用於新的建立。 - Amazon Aurora

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

Aurora MySQL 資料庫引擎更新 2022-10-25 (2.11.0 版,與 MySQL 5.7.12 相容)。此版本不適用於新的建立。

版本:2.11.0

Aurora MySQL 2.11.0 已正式推出。Aurora MySQL 2.x 版與 MySQL 5.7.12 相容。如需社群變更的詳細資訊,請參閱 MySQL 5.7.12 中的變更 (2016-04-11,正式推出)

目前支援的 Aurora MySQL 版本包括 1.19.5、1.19.6、1.22.*、1.23.*、2.04.*、2.07.*、2.08.*、2.09.*、2.10.*、2.11.*、3.01.* 和 3.02.*。

您可以將現有的 Aurora MySQL 2.* 資料庫叢集升級至 Aurora MySQL 2.11.0。對於執行 Aurora MySQL 1 版的叢集,您可以將現有的 Aurora MySQL 1.23 或更新版本的叢集直接升級至 2.11.0。您也可以將快照從目前支援的任何 Aurora MySQL 版本還原至 Aurora MySQL 2.11.0。

如果您將 Aurora MySQL 全域資料庫升級至 2.11.* 版,且已啟用寫入轉送,則須將主要和次要資料庫叢集升級至完全相同的版本 (包含修補程式層級),才能繼續使用寫入轉送。如需升級 Aurora 全球資料庫次要版本的詳細資訊,請參閱次要版本升級

如果您有任何問題或疑慮,可以在社群論壇和 Support AWS 援中心取得 Sup AWS port。如需詳細資訊,請參閱《Amazon Aurora 使用者指南》中的維護 Amazon Aurora 資料庫叢集

注意

如需如何升級 Aurora MySQL 資料庫叢集的詳細資訊,請參閱《Amazon Aurora 使用者指南》中的升級 Aurora MySQL 資料庫叢集的次要版本或修補程式層級

改善項目

以下列出已修正的安全性問題與 CVE:

修正和其他增強功能,以微調在受管環境中的處理。以下 CVE 修正如下所示:

新功能:

  • 新的作業系統升級會隨著 Aurora MySQL 2.11 版發佈一併推出。我們建議您在升級至 2.11 版後,將此待定作業系統更新套用至您所有的 Aurora MySQL 資料庫執行個體。如需詳細資訊,請參閱使用作業系統更新

  • 可以使用新的動態組態選項 (innodb_deadlock_detect) 停用死結偵測。在高度並行系統上,當多個執行緒等待同一個結時,死結偵測可能會導致速度變慢。有時,停用死結偵測,並在發生死結時依賴 innodb_lock_wait_timeout 設定復原交易,可能會更有效率。(錯誤 #23477773) 如需有關 Innodb 死結偵測的更多資訊,請參閱 MySQL 文件

  • 已新增來自 MySQL 8.0 的 UUID_TO_BINBIN_TO_UUIDIS_UUID 函數。如需有關使用這些函數的更多資訊,請參閱 MySQL 其他函數

  • 已新增最佳化工具提示的支援,可讓使用者以每個資料表或每個查詢為基礎,啟用或停用 Aurora MySQL 平行查詢。

  • 已移除 R3 執行個體類型支援。

  • 已新增對 R6i 執行個體的支援。

可用性改進項目:

  • 已修正因寫入錯誤日誌的 binlog 檔案和位置不正確,而導致無法在資料庫叢集中進行跨區域邏輯複寫的問題。若引擎在執行 DDL 陳述式之後重新啟動,則可能會發生此問題。

  • 已修正下列問題:在極少數情況下,當 Aurora 讀取器執行個體在寫入器執行個體上執行 GRANT 和 FLUSH 等存取控制清單 (ACL) 陳述式時,可能導致 Aurora 讀取器執行個體重新啟動。此問題較可能影響有大量使用者和 ACL 操作 (例如,許可變更) 的讀取器執行個體。

  • 已修正下列問題:在極少數情況下,當交易存取已被另一筆交易刪除的列時,可能導致讀取器執行個體重新啟動或容錯移轉。

  • 已改進全文片語搜尋效能,大幅縮短了在具有全文索引的資料表中搜尋片語所需的時間。

  • 已修正寫入器執行個體重新啟動後,可能因復原緩慢與後續重新啟動而再次停滯的問題。若初始重新啟動時,資料庫中有大量未遞交的列,就會發生此問題。

  • 已修正下列問題:在極少數情況下,當死結偵測器執行緒停滯時,資料庫伺服器因 Semaphore 長時間等待而重新啟動。

  • 已修正下列問題:在極少數情況下,當 I/O 執行緒變成死結時,資料庫因 Semaphore 長時間等待而重新啟動。

  • 在此 Aurora MySQL 版本中未啟用快速插入,因為在執行、和等查詢時可能會導致不一致的INSERT INTO問題。SELECT FROM如需快速插入最佳化的詳細資訊,請參閱 Amazon Aurora MySQL 效能增強功能

一般改進:

  • 已修正當下列所有條件皆為成立時,可能導致資料庫伺服器重新啟動的問題:

    • SQL MODE 中的 ALLOW_INVALID_DATES 已停用。

    • 資料庫伺服器正在處理的 INSERT、UPDATE、DELETE 或 SELECT 陳述式具有 DATETIME 類型的無效值,因此月份並非介於 1 到 12 之間。

  • 已修正當 log-bin 設定為 OFF 而未遵循二進位日誌保留期,導致儲存使用率高於預期的問題。套用此修正後,將會根據您的保留期清除二進位日誌。有關如何設定二進位日誌保留期的詳細資訊,請參閱《Aurora MySQL 使用者指南》https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Replication.html#AuroraMySQL.Replication.MySQL.RetainBinlogs

  • 已修正在資料庫執行個體上執行如 GRANT、FLUSH PRIVILEGES 等特定資料控制語言 (DCL) SQL 陳述式時,造成該執行個體上可釋放的記憶體減少的問題。頻繁使用這類陳述式會導致可釋放記憶體持續減少,並可能因為 out-of-memory 問題而導致資料庫執行個體重新啟動。在寫入器執行個體上使用這類陳述式也可能導致讀取器執行個體上的可釋放記憶體減少。

  • 導入了更大的讀取緩衝區用於從轉送日誌執行讀取,以減少讀取 I/O 操作數量,進而減少 I/O 與 SQL 執行緒之間的爭用。

  • 已修正可能導致 mysql.rds_rotate_slow_log 預存程序失敗並顯示錯誤訊息「'mysql.slow_log_backup' 資料表不存在」的問題。

  • 已修正在大量查詢快取失效的情況下,因讀取複本必須從磁碟而非查詢快取讀取資料,造成讀取複本上的 CPU 使用率和延遲高於預期的問題。

  • 已修正允許使用者在讀取器執行個體上執行 INSTALL PLUGIN 和 UNINSTALL PLUGIN 命令,而可能在 LOCK_plugin、LOCK_system_variables_hash、LOCK_global_system_variables 造成死結的問題。這些陳述式現在只能在資料庫叢集中的寫入器執行個體上執行。

  • 已修正啟用二進位記錄時,叢集可能發生遞交延遲高於預期的問題。這會影響產生大型 binlog 事件 (大小超過 500MB) 的所有交易。

  • 已修正可能造成 INFORMATION_SCHEMA.INNODB_METRICS 資料表中 trx_active_transactions 指標的值不正確的問題。

  • 已修正在執行大型交易的復原至儲存點時,binlog 檔案變得不一致而導致邏輯複寫停止的問題。

  • 一般記錄檔中的遮罩認證雜湊, slow-query-log以及稽核記錄預設使用一致的遮罩密碼。透過 aurora_mask_password_hashes_type 參數即可進行此設定。

  • 已修正客戶觀測事件中回報的零停機重新啟動 (ZDR) 持續時間不正確的問題。

  • 已修正可能造成對 mysql_rds_import_binlog_ssl_material 的呼叫失敗並顯示 MySQL 伺服器錯誤 1457 的問題。

  • 已修正傾印執行緒初始化可能因清除二進位日誌的執行緒而發生死結的問題。這可能會使作用中 binlog 檔案停止輪換並繼續增加,或造成新的 binlog 複本連線發生問題。

  • 已修正查詢快取可能在 Aurora 讀取複本上傳回過時結果的問題。

MySQL 社群版錯誤修正整合

此版本除了下列內容之外,還包括 5.7 (含) 以前版本的所有 Community 錯誤修正。如需詳細資訊,請參閱 Aurora MySQL 2.x 資料庫引擎更新修正的 MySQL 錯誤

  • 已修正從 Performance Schema 陳述式事件資料表 (例如 events_statements_current) 讀取字元集資訊的程式碼未阻止同時寫入該字元集資訊的問題。結果可能造成 SQL 查詢文字字元集無效,進而導致伺服器結束。使用此修正,無效的字元集就會讓 SQL_TEXT 欄截斷,並防止伺服器結束。(錯誤 #23540008)

  • InnoDB:Community 錯誤 #25189192 的修正向後移植, 錯誤 #84038。已修正在執行將資料表移至不同結構描述的 RENAME TABLE 操作後,InnoDB 無法更新 INNODB_SYS_DATAFILES 資料字典資料表的問題。這會導致重新啟動時發生錯誤,表示找不到資料表空間資料檔案。

  • InnoDB:已修正新增新索引時,伺服器捨棄內部定義的外部索引鍵索引,並嘗試使用在虛擬產生的欄上定義的次要索引作為外部索引鍵索引,而導致伺服器結束的問題。InnoDB 現在允許外部索引鍵限制,參考在虛擬產生的資料欄上定義的次要索引。(錯誤編號 23533396)

  • 已修正兩個工作階段同時執行 INSERT ... ON DUPLICATE KEY UPDATE 操作而產生死結的問題。在元組的部分復原期間,其他工作階段可能會對其進行更新。此錯誤的修正會回復錯誤 #11758237、錯誤 #17604730 和錯誤 #20040791 的修正。(錯誤 #25966845)

  • Community 錯誤 #27407480 的修正向後移植:已修正即使啟用 automatic_sp_privileges,仍無法正確將 EXECUTE 和 ALTER ROUTINE 權限授予常式建立者的問題。

  • Community 錯誤 #24671968 的修正向後移植:已修正如果 WHERE 子句包含相依子查詢、資料表在子查詢中欄後面接著的選取清單中的欄上有次要索引,以及 GROUP BYDISTINCT 允許查詢使用「鬆散索引掃描」,則查詢可能產生不正確結果的問題。

  • 已修正如果對具有外部索引鍵的多個資料表發出多資料表刪除陳述式,則複寫會中斷的問題。(錯誤 #80821)

  • 已修正在特殊情況下,即使啟用 slave_skip_errors 仍未忽略特定從屬錯誤的問題。在開啟和鎖定資料表失敗,或在執行以列為基礎之複寫的伺服器上欄位轉換失敗的情況下,此錯誤會視為嚴重錯誤,並且忽略 slave_skip_errors 的狀態。此修正可確保只要啟用 slave_skip_errors,在套用交易期間回報的所有錯誤都會正確處理。(錯誤 #70640、錯誤 #17653275)

  • 已修正 SET PASSWORD 陳述式從 MySQL 5.6 主要節點複寫至 MySQL 5.7 從屬節點,或是從 log_builtin_as_identified_by_password 系統變數設定為 ON 的 MySQL 5.7 主要節點複寫至 MySQL 5.7 從屬節點時,密碼雜湊本身也在儲存到從屬節點上之前進行雜湊的問題。此問題現已修正,且複寫的密碼雜湊現在會以原始傳遞至從屬節點的狀態儲存。(錯誤 #24687073)

  • 已修正將包含以多層 JSON 陣列、物件或兩者包裝的大型子文件的 JSON 值序列化時,有時需要相當長的時間才能完成的問題。(錯誤 #23031146)

  • 無法剖析的陳述式 (例如,因為語法錯誤) 不會再寫入緩慢查詢日誌中。(錯誤 #33732907)

與 Aurora MySQL 第 1 版比較

下列 Amazon Aurora MySQL 功能在 Aurora MySQL 第 1 版 (與 MySQL 5.6 相容) 中有支援,但目前這些功能在 Aurora MySQL 第 2 版 (與 MySQL 5.7 相容) 中不支援。

MySQL 5.7 相容性

此 Aurora MySQL 版本有 MySQL 5.7 線路相容性,包括 JSON 支援、空間索引和產生欄位等功能。相較於 MySQL 5.7,Aurora MySQL 採用的空間索引原生實作主要利用 Z 階曲線,可為空間資料集提供超過 20 倍的寫入效能和超過 10 倍的讀取效能。

此 Aurora MySQL 版本目前不支援下列 MySQL 5.7 功能:

  • 群組複寫外掛程式

  • 已增加的頁面大小

  • 啟動時載入 InnoDB 緩衝集區

  • InnoDB 全文剖析器外掛程式

  • 多來源複寫

  • 線上緩衝集區大小調整

  • 密碼驗證外掛程式

  • 查詢重寫外掛程式

  • 複寫篩選

  • CREATE TABLESPACE SQL 陳述式