從昨晚開始,在DBA
群里大家就在討論MySQL 9.0發布的事情,但是Release Note
和官方文檔都沒有更新,所以今天早上一上班就趕緊瞅了下具體更新了哪些內容?
整體看來,基本沒什么創新。下面是9.0
新增或廢棄的一些特性。
- 🚀MySQL 9.0 新特性和功能
- ?? 保存explain analyze的JSON輸出結果
- ?? Prepared語句中的Event DDL
- 🚀MySQL 9.0 廢棄的特性和功能
- 🚀MySQL 9.0 已移除的特性和功能
🚀MySQL 9.0 新特性和功能
?? 保存explain analyze的JSON輸出結果
EXPLAIN?ANALYZE?FORMAT=JSON?INTO?@_variable?select_stmt;

?? Prepared語句中的Event DDL
從 MySQL 9.0.0 開始,下面的語句可以被prepared:
-
CREATE EVENT
-
ALTER EVENT
-
DROP EVENT
對于這些語句,不支持位置參數
🚀MySQL 9.0 廢棄的特性和功能
Performance Schema 中 variables_info
表的 MIN_VALUE
和 MAX_VALUE
列現在已不推薦使用,并可能在未來的 MySQL 版本中移除,請使用 variables_metadata 表的列。

🚀MySQL 9.0 已移除的特性和功能
以下項目在MySQL 9.0中已過時并已刪除。如果顯示了替代方案,則應更新應用程序以使用它們。
對于使用在MySQL 9.0中刪除的功能的MySQL 8.4應用程序,在從MySQL 8.4源復制到MySQL 9.0復制品時,語句可能會失敗,或者在源和復制品上可能產生不同的效果。為避免此類問題,應修改使用在MySQL 9.0中刪除的功能的應用程序以避免使用它們,并盡可能使用替代方案。
🧿 mysql_native_password
插件。在MySQL 8.0中棄用的mysql_native_password
身份驗證插件已被刪除。服務器現在會拒絕來自沒有CLIENT_PLUGIN_AUTH
功能的舊客戶端程序的mysql_native
身份驗證請求。
由于這一變化,以下服務器選項和變量也已被刪除:
-
--mysql-native-password服務器選項 -
--mysql-native-password-proxy-users服務器選項 -
默認的default_authentication_plugin服務器系統變量
為保持向后兼容性,mysql_native_password仍可在客戶端上使用,因為用戶可能會使用MySQL 9.0
的客戶端連接低版本的MySQL數據庫服務。
其實一直以來,大家比較期待的是MySQL的vector
特性,畢竟現在大家一想起關系型數據庫的向量功能,立馬想到或者使用的是PostgreSQL
中pg_vector
。

但是目前看來,只有HeatWave中可以使用向量存 --(HeatWave GenAI)
利用生成AI而無需AI專業知識或數據移動。HeatWave GenAI提供集成和自動化的生成AI,其中包括基于大型語言模型(LLMs)的數據庫內部;自動化的數據庫內部向量存儲;以及在自然語言中進行上下文對話的能力。
總之,個人覺得MySQL 9.0 本次并沒有什么較大創新。
但是,官方社群里有國外小伙伴發了在HeatWave里的測試。
出于好奇,我在community版本中進行了測試(如下圖),發現當前版本支持vector類型,開始支持向量存儲了,但是文檔中沒有任何提及存儲,向量檢索,以及索引創建等內容。


幫助文檔中也沒有任何與vector有關的函數。官方可能后續會在社區版引入vector檢索,讓我們慢慢期待吧。