MySQL 9.6.0 創新版已正式發佈,此次更新帶來了審計系統重構、GTID 複製優化、安全能力增強等一系列重磅特性,同時修復了大量已知問題,全方位提升數據庫的穩定性與實用性。
一、核心功能升級:效率與靈活性雙突破
1. 模塊化審計日誌系統,運維更高效
MySQL 9.6.0 對審計日誌系統進行了架構重構,將原有的單體審計日誌軟件拆分為更小的獨立組件,封裝為 MySQL 專用組件。這一升級讓審計日誌的安裝、管理和維護變得更加簡單,用户可靈活配置日誌輸出路徑、格式、緩衝區大小等參數。同時,系統變量audit_log_rotate_on_size的修改權限已調整為需AUDIT_ADMIN特權,進一步強化權限管控。
2. GTID 複製全新優化,事務管理更可靠
本次更新引入了全新的 GTID(全局事務 ID)集合數據結構,替換了舊有庫,不僅讓 GTID 處理邏輯更簡潔現代,還顯著提升了可維護性與性能,為分佈式數據庫環境下的事務一致性提供了更堅實的保障。
3. InnoDB 引擎持續精進,穩定性再升級
InnoDB 作為 MySQL 的默認存儲引擎,此次迎來多項關鍵優化:
- 重做日誌錯誤信息新增當前 LSN(日誌序列號)和日誌容量信息,MONITOR輸出也同步增強相關詳情,便於問題排查;
- 修復了服務器重啓時 XA 預備事務狀態異常轉換的問題,避免斷言失敗或事務回滾風險;
- 優化無主鍵表的 rowid 生成邏輯,效率更高;
- 解決了事務提交後 undo 日誌殘留導致後續查詢報錯的問題,同時修復了 FLUSH TABLE FOR EXPORT 與 DROP TABLE、DML 操作併發時的死鎖問題。
4. 容器感知能力上線,資源適配更智能
新增container_aware啓動選項,讓 MySQL 服務器能夠自動識別容器環境下的 CPU 和內存資源限制,並主動適配,確保在容器化部署場景中資源利用更合理,避免資源溢出或浪費。
二、安全能力強化:合規與管控雙保障
1. 哈希函數組件化,安全標準更合規
將MD5()和SHA1()這兩個 deprecated 哈希算法的 SQL 函數遷移至獨立的classic_hashing組件中。用户可根據業務需求選擇是否安裝該組件,既保證了現有應用的兼容性,又能避免使用不符合行業安全標準的哈希算法,提升數據安全合規性。
2. 認證機制優化,錯誤反饋更清晰
- 連接不存在的用户時,將統一返回 “Access denied for user” 錯誤,不再因用户名長度或 MySQL 版本不同出現不一致提示;
- 修復了創建重複用户名時錯誤信息模糊的問題,同時解決了部分認證相關漏洞,提升登錄安全。
3. 賬户鎖定監控增強,風險可追溯
Performance_Schema新增TEMPORARY_ACCOUNT_LOCKS表,支持查看臨時鎖定的賬户;HOST_CACHE表新增兩個統計列,分別記錄永久鎖定和臨時鎖定賬户導致的錯誤次數,便於管理員實時監控賬户安全狀態。
三、易用性提升:開發與運維更便捷
1. JSON duality 視圖支持 DML 標籤,權限控制更精細
現在可在定義 JSON duality 視圖時,為每張表明確指定允許的 DML 操作(INSERT/UPDATE/DELETE),也可通過NO INSERT等限制標籤禁用特定操作,支持多標籤組合,實現單視圖內的精細化寫權限控制,且行為與 Oracle DB 兼容。
2. 日誌功能升級,調試與監控更高效
- GCS/XCOM 跟蹤文件條目新增時間戳,增強調試能力;
- 慢查詢日誌、通用日誌已接入遙測日誌,可通過setup_loggers表配置,便於集中監控。
3. MySQL Shell 支持擴展,工具鏈更完善
Option Tracker 功能現已支持 MySQL Shell 及 VS Code 版 MySQL Shell,新增多個狀態變量,可跟蹤自然語言轉 SQL、HeatWave 聊天、數據導出導入等操作的使用情況,助力開發者掌握工具使用狀態。
4. 配置工具優化,操作體驗更流暢
- MySQL Configurator 現在能正確處理帶引號的密碼,自動去除首尾引號、反引號;
- 修復了mysqlx_port變量無法在配置文件中持久化、服務器文件權限未按指定配置應用等問題;
- 優化了密碼更新流程,解決了操作耗時過長的問題。
四、其他重要更新與修復
1. 依賴組件升級
- OpenSSL 庫更新至 3.0.18 版本(捆綁 OpenSSL 的平台),提升加密安全;
- opentelemetry-cpp 升級至 1.23.0 版本,增強可觀測性。
2. 語法與優化器改進
- GROUPING() 函數現在可在無ROLLUP的查詢中使用;
- 修復了coalesce/any_value函數與 JSON 操作結合時的斷言失敗問題,以及負數年份的 datetime 格式校驗不一致問題;
- 解決了正則表達式查詢作為預處理語句執行時耗時過長的問題。
3. 大量 Bug 修復
本次更新修復了超過 40 個已知問題,涵蓋查詢執行、備份恢復(mysqldump/mysqlpump)、Performance_Schema數據採集、配置文件解析等多個場景,例如:
- 修復了預處理語句的 SQL 語句及摘要無法被Performance_Schema捕獲的問題;
- 解決了數據庫名含反斜槓時,mysqldump--routines選項無法正確引號的問題;
- 修復了 Windows 平台下--skip-grant-tables啓動時服務器可能無法啓動的問題。
稿源:https://mp.weixin.qq.com/s/NHslSsOS0aiooOYf2nKu8Q