新版本MySQL 8.1及MySQL 8.0.34于2023年7月18日正式發行。從此,MySQL將開啟創新版和穩定版同時發行的階段。MySQL 8.1是MySQL的首個創新版,該版本主要增加了如下功能 :
除了新增功能外,還做了以下調整,這部分內容基本上與MySQL8.0.34一致。
用戶管理方面,增加了一個系統變量“validate_password.changed_characters_percentage”用于密碼驗證。該變量用于配置用戶在更改密碼時必須修改的字符數量,數量以當前密碼的字符數百分比計算。假設該變量值設為50,則新密碼中至少有一半的字符需要修改。
MySQL審計方面,增加新的功能,在安裝審計插件時,可以指定用戶存儲日志過濾條件的數據庫。例如,
$> mysql -u root -D _name -p < audit_log_filter_linux_install.sql
此外,MySQL審計增加了使用調度器組件來配置和執行循環任務,刷新內存緩存的新功能。
二進制日志方面,在libmysqlclient.so庫中增加了新的函數mysql_binlog_open(),mysql_binlog_fetch(),及mysql_binlog_close(),使得開發者能夠訪MySQL服務器的二進制日志。
兼容性方面,改進了Windows的MSVC_CPPCHECK支持,并檢查類似的MSVC警告“維護”模式。
Windows編譯方面,改善了WIN_DEBUG_NO_INLINE=1 的支持,使用量將超過庫的65535個對象的限制。
此外,對robin-hood-hashing、ICU文件及ZSTD的版本等進行了升級。
由于MySQL提供了mysql shell 和mysqldump用于備份,因此,mysqlpump將進行降級處理,使用時將有警告提示,未來將棄用該產品。
用于復制的服務器變量“sync_relay_log_info”、“binlog_format”,在此版本中降級處理,未來將棄用該變量。因此,與其關聯的“log_bin_trust_function_creators”和“log_statements_unsafe_for_binlog”也將降級使用,最終棄用。需要注意,“binlog_format”棄用后,MySQL的二進制日志格式僅支持“row-based”。
用于組復制的服務器變量“group_replication_recovery_complete_at”,及 “mysql_native_password”認證插件降級使用,未來將棄用。
此外,包括審計日志的傳統過濾模式、mysql_ssl_rsa_setup 程序,及密鑰環文件插件等也進行降級處理,未來將棄用。
用戶需要注意,以往的特定與版本的注釋方式“!80034KEY_BLOCK_SIZE=1024*/ 或 !80034 KEY_BLOCK_SIZE=1024*/ ”不考慮版本號后面的空格,但未來版本的該行為可能會發生變化。因此,從此版本開始,請用戶在版本號后面加入空格使用,
SQL語法方面,此版本支持使用CURRENT_USER() 、SESSION_USER()、USER(), SYSTEM_USER()在建表語句或更改表語句中作為Varchar或TEXT類型字段的默認值。
除了上述提到的更改和棄用,MySQL 8.1及MySQL 8.0.34版本做了大量的錯誤修復,使得MySQL8.0進入一個穩定的狀態。詳細的變更內容,請參照官網的發行一覽。
來源于:MySQL解決方案工程師