2022年7月26日,MySQL 8.0.30正式發行。在這個版本裡,在做了大量的修復的同時,也對一些功能進行了增強和改善,讓我們一起快速瀏覽一下有哪些亮點。
GIPK(Generated Invisible Primary Keys)
當開啟GIPK模式後,可以允許沒有顯示定義主鍵的Innodb表,自動生成不可見的主鍵。生成的主鍵名稱為 『my_row_id』 並且無法更改,用戶需要注意該關鍵字的使用。
XA事務與複製
複製功能支持將XA事務的狀態進行複製,解決了以往的複製功能在伺服器節點出現異常時,無法保證執行XA PREPARE、XA COMMIT或XA ROLLBACK。
對於任何多伺服器複製拓撲(包括組複製), XA事務狀態可以一致地傳播,以便所有伺服器始終處於同一狀態。對於任意的拓撲結構(包括單個伺服器,只要啟用了二進位日誌記錄),就可以恢復到一致狀態。
innodb doublewrite buffer
增加了Innodb_doublewrite系統變量,該變量可以設置為DETECT_ONLY 或 DETECT_AND_RECOVER。設置為DETECT_ONLY時,資料庫頁面內容不會寫入doublewrite buffer,恢復時也不使用doublewrite buffer 修復不完整的頁面寫入。該設置僅用於檢測不完整頁面寫入。設置為DETECT_AND_RECOVER時,與現有的處理保持一致。
動態配置Redo日誌容量
Redo日誌現在支持動態設置容量。通過系統變量innodb_redo_log_capacity 可以增加或縮小Redo日誌所使用的磁碟容量。InnoDB可以維護32個Redo日誌,日誌的默認大小為100M。用戶配置innodb_redo_log_capacity後,變量innodb_log_files_in_group 和 innodb_log_file_size的值將被忽略。
更改MySQL部分系統表主鍵中的欄位順序
通過更改,以提高執行CREATE USER,DROP USER,RENAME USER 語句的執行性能
mysqldump自定義長查詢時間
mysqldump增加一個新的選項 -mysqld-long-query-time ,通過該選項,用戶可以增加mysqldump查詢所允許的經過時間,以便避免寫入慢查詢日誌,從而減少不必要的日誌記錄。
Error log組件
錯誤日誌組件現在可以在InnoDB存儲引擎可用之前啟動。這種加載錯誤日誌組件的控制項方法通過log_error_services變量定義。
隱式加載錯誤日誌組件具有如下優點:
-
InnoDB完全可用之前記錄的信息是可用的。
-
它有助於避免日誌信息的丟失啟動失敗。
-
顯式錯誤日誌組件安裝使用不再需要安裝組件語法。用戶只需要將組件添加到log_error_services設置。
企業版審計
審計日誌增加了查詢時間選項,可以記錄發送和接收的記錄數及時間。
加密函數AES_ENCRYPT 和 AES_DECRYPT 支持KDF
KDF(key derivation function)通過將秘鑰密碼或密碼短語等信息傳遞給函數,用來創建密碼學上的強密碼。派生的密鑰用於加密並解密數據,它仍然保存在MySQL伺服器中實例,用戶無法訪問。強烈推薦使用KDF,因為它提供了比用戶指定密碼等方式更為簡單的方法,及更好的安全性。
以上內容是MySQL 8.0.30的簡單介紹,關於詳細的更改內容,請訪問官網。
感謝您關注「MySQL解決方案工程師」!