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