Aurora MySQL 資料庫引擎更新 2023-07-31 (3.04.0 版,與 MySQL 8.0.28 相容) - Amazon Aurora

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

Aurora MySQL 資料庫引擎更新 2023-07-31 (3.04.0 版,與 MySQL 8.0.28 相容)

版本:3.04.0

Aurora MySQL 3.04.0 已正式推出。Aurora MySQL 3.04 版與 MySQL 8.0.28 相容,Aurora MySQL 3.03 版與 MySQL 8.0.26 相容,Aurora MySQL 3.02 版則與 MySQL 8.0.23 相容。如需有關從 8.0.23 到 8.0.28 之間所進行社群變更的詳細資訊,請參閱 MySQL 8.0 版本備註

注意

此版本被指定為長期支援 (LTS) 版本。如需詳細資訊,請參閱《Amazon Aurora 使用者指南》中的 Aurora MySQL 長期支援 (LTS) 版本

建議您不要將 LTS 版本的 AutoMinorVersionUpgrade 參數設定為 true(或在 中啟用 Auto minor version 升級 AWS Management Console)。這樣做可能會導致您的資料庫叢集升級至非 LTS 版本,例如 3.05.2。

如需 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 的比較,請參閱比較 Aurora MySQL 第 3 版和 MySQL 8.0 Community Edition。

目前支援的 Aurora MySQL 版本包括 2.07.9、2.11.1、2.11.2、3.01.*、3.02.*、3.03.* 和 3.04.0。

您可以從任何目前支援的 Aurora MySQL 第 2 版叢集執行就地升級、還原快照,或是使用 Amazon RDS 藍/綠部署 起始受管藍/綠升級至 Aurora MySQL 3.04.0 版叢集。

如需規劃升級至 Aurora MySQL 第 3 版的詳細資訊,請參閱《Amazon Aurora 使用者指南》中的 Aurora MySQL 第 3 版的升級規劃。如需有關 Aurora MySQL 升級的一般資訊,請參閱《Amazon Aurora 使用者指南》中的升級 Amazon Aurora MySQL 資料庫叢集

如需故障診斷資訊,請參閱 Aurora MySQL 第 3 版升級問題的故障診斷

如果您有任何問題或疑慮,社群論壇和透過 AWS Support 提供 AWS Support。如需詳細資訊,請參閱《Amazon Aurora 使用者指南》中的維護 Amazon Aurora 資料庫叢集

注意

目前 Aurora MySQL 3.04.0 版上的 Aurora Serverless v2 資料庫執行個體不支援 Aurora MySQL 增強二進位日誌 (binlog)。啟用此功能可能導致資料庫無法使用。如果您需要在 Aurora MySQL 3.04.0 版上使用增強二進位日誌,建議您使用非無伺服器資料庫執行個體類別,或將 Serverless v2 資料庫執行個體的最小和最大 ACU 設定為相同的值。

如需 Aurora MySQL 中增強二進位記錄的詳細資訊,請參閱《Aurora 使用者指南https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Replication.MySQL.html#AuroraMySQL.Enhanced.binlog

改善項目

新功能:

已修正安全問題和 CVEs:

  • 已將 SSL/TLS 供應商從 OpenSSL 變更為 AWS-LC。此舉會帶來許多變更,包括但不限於以下內容:

    • 從 Aurora MySQL 3.04.0 版升級至更高版本時,現在可以透過零停機重新啟動和零停機修補來還原使用 SSL 的資料庫連線。

    • 支援 TLSv1.3,其中包括對 TLS_AES_128_GCM_SHA256、TLS_AES_256_GCM_SHA384 和 TLS_CHACHA20_POLY1305_SHA256 SSL 密碼的支援。

    • 移除對較不安全的 DHE-RSA-* 密碼的支援。

    如需詳細資訊,請參閱搭配 Aurora MySQL 資料庫叢集使用 TLS

  • 已新增動態權限 SHOW_ROUTINErds_superuser_role,如此即可存取所有預存常式的定義和屬性,例如預存程序和函數。如需詳細資訊,請參閱 SHOW_ROUTINE

  • 已修正可能造成稽核日誌在稽核日誌檔案輪換期間遺漏事件的問題。

  • 已啟用安全且高效能的 Transport Layer Security (TLS) 1.3 通訊協定的支援,同時保持與 TLS 1.2 版相容。

  • TLS 的 TLSv1 和 TLSv1.1 版已在社群 MySQL 8.0.26 中與對應的 Aurora MySQL 3.03 中棄用。這些通訊協定現在已從社群 MySQL 8.0.28 與對應的 Aurora MySQL 3.04 中移除。根據預設,任何無法透過 TLS 1.2 或更高版本進行通訊的安全用戶端都會遭到拒絕。如需使用 TLS 連線到資料庫執行個體的詳細資訊,請參閱 Amazon Aurora MySQL 的安全性

此版本包含下列 CVE 修正:

可用性改進項目:

  • 修正在長時間交易復原期間可能導致資料庫重新啟動的問題。

  • 修正資料庫活動串流事件加密中可能導致資料庫重新啟動的問題。

  • 已修正在啟動期間或在 Aurora Serverless v2 中進行擴展的情況下初始化 InnoDB 緩衝區集區,因記憶體不足錯誤造成的記憶體管理問題。此問題可能會導致資料庫執行個體重新啟動或效能降低,包括輸送量降低或延遲增加。

  • 修正在執行使用 Aurora MySQL 平行查詢執行計畫的查詢時,可能導致 Aurora MySQL 讀取器執行個體重新啟動的問題。

  • 修正在特定情況下,可能導致 Aurora 讀取器執行個體在範圍估算期間重新啟動的問題。

  • 修正在執行涉及自動遞增資料欄的繁重插入操作時,如果重新啟動,啟動時可能會中斷資料庫復原的問題。

  • 已修正當伺服器變數 server_audit_events 設定為 ALLQUERY 時,Aurora 進階稽核導致 Aurora MySQL 錯誤日誌中記錄過多資訊訊息的問題。此問題可能會導致資料庫執行個體重新啟動。

  • 修正啟用平行查詢時,在 INSERT陳述式復原期間可能導致資料庫重新啟動的問題。

  • 修正在傳回all select tables were optimized awayEXTRA資訊欄中輸出的查詢上執行EXPLAIN ANALYZE分析工具時,可能導致資料庫執行個體重新啟動的問題。如需詳細資訊,請參閱 MySQL 文件中的 EXPLAIN 輸出格式

  • 已修正在轉送的隱含遞交陳述式發生錯誤時,使用全域寫入轉送導致 Aurora 全域資料庫次要區域讀取器執行個體重新啟動的問題。

  • 修正使用來自 Aurora 全域資料庫次要區域的全域寫入轉送執行SELECT FOR UPDATE查詢時,可能導致 Aurora 全域資料庫主要區域中的寫入器執行個體重新啟動的問題。

一般改進:

  • 新增了新的預存程序 mysql.rds_gtid_purged,可讓客戶設定 GTID_PURGED 系統變數。如需詳細資訊,請參閱 mysql.rds_gtid_purged

  • 新增了兩個新的預存程序 mysql.rds_start_replication_untilmysql.rds_start_replication_until_gtid,可讓客戶設定停止二進位日誌複寫的位置。如需在 Aurora MySQL 中設定二進位日誌複寫之停止位置的詳細資訊,請參閱 mysql.rds_start_replication_until

  • 已修正從已停用自動遞交模式的工作階段呼叫時,Aurora MySQL 複寫控制項預存程序無法修改 sql_log_bin 變數的問題。

  • 已新增下列資料控制語言 (DCL) 陳述式的邏輯複寫支援:GRANT/REVOKECREATE/DROP/ALTER/RENAME USER

  • 已修正防止 InnoDB 統計資料過時的問題,此情況有時可能會產生次佳的查詢執行計畫,進而導致查詢執行時間增加。

  • 新增了兩個新的系統檢視 information_schema.aurora_global_db_instance_statusinformation_schema.aurora_global_db_status。這些檢視可用來顯示 Aurora MySQL 全球資料庫叢集中主要和次要資源的狀態和拓撲。這兩個系統檢視的詳細資訊可在 Aurora MySQL 特定 information_schema 資料表中找到。

  • 已修正執行具有溢出萬用字元的 SET ROLE 陳述式之後,使用者無法存取資料庫名稱中包含萬用字元的資料庫的問題。

  • 已修正處理稽核日誌輪換時回報的事件可能未寫入稽核日誌的問題。

  • 已修正透過 TRIGGER 執行建立內部暫存資料表時,可能導致寫入器資料庫執行個體重新啟動的問題。

  • 已新增新的系統變數 innodb_aurora_max_partitions_for_range。在某些無法使用持續性統計資料的情況下,此參數可用來改善分割資料表上的列計數估算效能。如需詳細資訊,請參閱 Aurora MySQL 組態參數文件。

  • 已修正在建立分割資料表時,不當允許客戶將 ROW_FORMAT 設定為 COMPRESSED 的問題。資料表將以隱含方式轉換為 COMPACT 格式並顯示警告,指出 Aurora MySQL 不支援壓縮資料表。

  • 已修正當replica_parallel_type變數設為 LOGICAL_CLOCKreplica_preserve_commit_order變數設為 時,可能導致多執行緒二進位日誌複寫停止的問題ON。當在來源上執行大於 500 MB 的交易時,可能會發生此問題。

  • 已修正在啟用全球資料庫寫入轉送功能的情況下,可能造成次要區域中讀取器執行個體的 performance_schema 組態變更意外轉送至主要區域中的寫入器執行個體的問題。

  • 已修正從 Aurora 儲存檔案系統讀取資料頁面後,伺服器狀態變數 innodb_buffer_pool_reads 可能未更新的問題。

  • 選擇 Aurora I/O 最佳化叢集組態時,不支援 Aurora MySQL 平行查詢。如需詳細資訊,請參閱 Amazon Aurora MySQL 平行查詢的限制

  • 已修正在啟用平行查詢的情況下,造成查詢計畫最佳化工具針對受益於主要或次要索引的特定 SELECT 查詢挑選效率不佳的執行計畫的問題。

  • 時區定義已升級至 IANA 2023c 版。

  • 在 binlog 複本上導入了檔案管理效能最佳化,有助於減少寫入轉送日誌檔案時的爭用情形。

  • 已修正無論使用者工作負載為何,information_schema.aurora_global_db_status 資料表中的 RPO_LAG_IN_MILLISECONDS 欄和 AuroraGlobalDBRPOLag CloudWatch 指標始終顯示零的問題。

  • 導入了新參數 aurora_tmptable_enable_per_table_limit。啟用此參數時,tmp_table_size 變數會定義 TempTable 儲存引擎所建立的個別記憶體內的內部暫存資料表的大小上限。如需其他詳細資訊,請參閱內部 (隱含) 暫存資料表的儲存引擎

  • 已修正啟用全球資料庫寫入轉送功能時,會建立額外連線的問題。當讀取器執行個體上的唯讀交易不正確地將隱含遞交轉送至寫入器時,就會發生此問題。

  • 已修正在主要區域中寫入器上,未針對使用全球資料庫寫入轉送功能的連線填入 performance_schema.threads 資料表中的 PROCESSLIST_USERPROCESSLIST_HOST 欄位的問題。如需有關此資料表和 Performance Schema 的詳細資訊,請參閱《MySQL 參考手冊》、執行緒資料表,以及《Amazon Aurora 使用者指南》中的 Performance Schema 概觀

  • 已修正在使用全球資料庫寫入轉送功能的情況下,CommitLatency Cloudwatch 指標針對次要區域中讀取器執行個體顯示不正確的值的問題。若要監控次要資料庫叢集上轉送的 DML 陳述式延遲,建議您使用 ForwardingReplicaDMLLatencyForwardingWriterDMLLatency 指標。另外還可以使用主要區域的寫入器執行個體上的 CommitLatency 指標來觀察遞交延遲。如需更多資訊,請參閱《Aurora 使用者指南》中的寫入轉送的 Amazon CloudWatch 指標

  • 已修正透過將 replica_parallel_workers 變數設定為大於 0 值的方式來設定多執行緒二進位日誌複寫時,用來管理和設定二進位日誌複寫的 Aurora MySQL 複寫控制項預存程序不正確地回報錯誤的問題。

  • 已修正當多個工作階段嘗試存取記憶體中不存在的頁面時,可能導致 CPU 消耗量過高的問題。

升級和遷移:

  • 若要執行 Aurora 全球資料庫的次要版本升級,以將 Aurora MySQL 3.01、3.02 或 3.03 版升級至 Aurora MySQL 3.04 版或更高版本,請參閱透過修改引擎版本來升級 Aurora MySQL

  • 已修正從 Aurora MySQL 第 2 版升級至 Aurora MySQL 第 3 版時,因回報了 mysql.general_log_backupmysql.general_logmysql.slow_log_backupmysql.slow_log 資料表的結構描述不一致錯誤,而導致升級預先檢查失敗的問題。如需有關升級故障診斷的詳細資訊,請參閱 Aurora MySQL 第 3 版升級問題的故障診斷

  • 已修正在觸發程序定義包含的保留關鍵字前後未加上引號的情況下,可能造成升級至 Aurora MySQL 3 時主要版本升級失敗的問題。

MySQL 社群版錯誤修正整合

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

  • 已修正在頁面周遊期間重新放置包含內部函數之暫存資料表頁面的緩衝區區塊,而造成聲明失敗的問題 (錯誤編號 33715694)

  • InnoDB:防止線上 DDL 操作存取超出邊界的記憶體 (錯誤編號 34750489、錯誤編號 108925)

  • 已修正在處理包含多個巢狀一般資料表表達式 (CTE) 的複雜 SQL 陳述式時,有時可能產生不正確查詢結果的問題 (錯誤編號 34572040、錯誤編號 34634469、錯誤編號 33856374)