MySQL在4月25日晚上推出最新的MySQL更新版-MySQL 8.0.16,由於品質控制能力和向下相容性的加強,自從MySQL 邁入8.0後版本發佈模式就改為持續交付模式(CDM),在每個更新版都加入新的功能.8.0.16是8.0正式發行以來第五個更新版,它除了修正200個以上的bug
讓它更穩定外,還推出了多項新加能,其中比較重要的有:
讓它更穩定外,還推出了多項新加能,其中比較重要的有:
1.
加強對中文的支持, 增加一個字符集的文字排序(collation)
– utf8mb4_zh_0900_as_cs, “as”代表重音敏感,”cs”代表大小寫敏感,在這個字符集下,SQL命令的order by 順序可依四聲音符的順序排序.這為中文環境提供了許多的方便性和運用空間
2.
資料建模的宣告制約支援check constraint – 我們等你好久了!!!
3.
地理訊息系統(GIS)的ST_LENGTH()函式可指定其輸出值的單位,例如公尺、英吋等.
4.
優化器的改良,進一步推升MySQL的性能,包括:
- SQL命令中WHERE子句中有對常數的比對時,減少資料型別的轉換
- 子查詢的EXIST子句的SQL執行計畫改為semi-join ,MySQL 5.6即引進semi-join將執行計畫由巢式圈廻(nest loop)改為只查是否符合的join方式,使得某些原來要一天以上的SQL大幅改進到只要數分鐘即可返回結果,這次的改進是將semi-join的範圍擴大到EXIST子句.
- 引進volcano iterator design 為join提供更好的EXPLAIN分析,我相信這也能為將來支援parallel query奠定一個基礎!
5.
Replication 的binlog中加上table
partition的訊息,讓applier(或SQL線程)能更好的處理併發性.另外.另外,binlog檔案可以AES運算法加密,同時也支援主鑰的輪換.
6.
群組複製
- 可動態調整XCOM緩存的空間,和設定該緩存的大小之上限,從而改進群組複製在面對大量交易時的性能和穩定性.
- 群組中的節點下線後,在重新開啟後,不需管理者動手,能自加回,這使得DBA輕鬆多了
- 支援封包傳輸的分割,這使MGR處理大訊息(交易)的能力更佳,減少因為碰到大交易而使節點被退出群組的機會.
- 離開群組的節點的可設為READ_ONLY或ABORT_SERVER.
7.
動態開關(enable/disable)表空間的加密功能.
8.
權限管理,多了SYSTEM_USER權限.以及自CONNECT_ADMIN權限中分出KILL線程權限,還可以回收部份權限.
9.
安全管理:
- libmysql支援TLS1.3
- 可更改變運行中的MySQL實例之SSL設定,例如更換certificates
- Performance_schema能記錄key ring相關訊息
10.
連線的改良:
- 傳統連線protocol, C API能做非阻塞對話
- X Protocol當連到錯的protocol時,能發出錯誤訊息
- X protocol能傳對話相關訊息到server,例如應用的名稱、版本、作業系統、和PID
- X protocol在切換對話時能保留連線訊而不需要再登入或再開連線.
11.
Router:
- 支援REST endpoint和網路介面和TLS/HTTPS登入
- 能在單主和多主模式動態切換
- 支援多種日誌存放方式(file/syslog/console)
- 運作中的router可動態rotate log
和MySQL開發團隊的部落格 https://mysqlserverteam.com/the-mysql-8-0-16-maintenance-release-is-generally-available/
沒有留言:
張貼留言