觀點 · 資訊分享

Cloud SQL 的 MySQL 9.7 正式上線:多了向量搜尋,但舊的登入外掛 mysql_native_password 被拿掉

Cloud SQL for MySQL 9.7 正式上線,新增向量搜尋、JSON 對偶檢視等功能,也支援從 8.4 原地升級。但用舊登入外掛的程式要先改,不然升級後連不上。

發布
2026-08-14
篇幅
約 4 分鐘 · 1,649 字
結構
8 節 + 3 題常見問題
標籤
#Google Cloud#Cloud SQL#MySQL 9.7#向量搜尋#資料庫升級
Cloud SQL 的 MySQL 9.7 正式上線:多了向量搜尋,但舊的登入外掛 mysql_native_password 被拿掉

一句話看懂:Google 的託管資料庫 Cloud SQL 正式支援 MySQL 9.7,多了向量搜尋等新功能,但舊的登入外掛被拿掉,升級前要先檢查程式連線方式。

Cloud SQL 推出 MySQL 9.7資訊圖卡:新增向量搜尋,但舊登入外掛被移除,升級前先改程式

先用白話講:Cloud SQL 與 MySQL 9.7 是什麼?

MySQL 是全世界最常見的資料庫之一,很多網站的會員、訂單都存在裡面。Cloud SQL 是 Google Cloud 幫你代管資料庫的服務:備份、更新、機器維護都交給 Google,你只要專心使用資料。

這次,Google 讓 Cloud SQL 可以用最新的 MySQL 9.7,而且是正式版(GA),可以放心用在正式環境。

發生什麼事

Google 在 8 月 13 日的 Cloud SQL 發行說明宣布,MySQL 9.7 正式上線。官方列出幾個主要功能:

功能 白話說明
向量搜尋(Vector search) 支援社群標準的向量儲存格式,再加上近似最近鄰(ANN)索引,可以找出「意思相近」的資料
Hypergraph 最佳化器 另一套規劃 JOIN 的方式,目標是更聰明地處理牽涉很多資料表的複雜查詢,需要用 optimizer switch 手動開啟
JSON Duality Views 讓同一份資料,既能用傳統的資料表(SQL)操作,也能當成 JSON 文件來讀寫

最需要注意的事:舊登入外掛沒了

官方特別用 Note 提醒:從 9.7 開始,不再支援舊的 mysql_native_password 登入外掛。

白話講,就是資料庫「檢查密碼的方式」換了。所有使用內建帳號驗證的客戶端,都要改成 caching_sha2_password。如果你的網站、報表工具、排程程式還用舊方式連線,升級之後會直接連不上。

另外還有兩個小地方:

  • 用 gcloud、主控台或 API 指定 MySQL 9.7 建立執行個體時,預設的版本等級是 Enterprise Plus
  • 有幾個舊的資料庫旗標被移除,例如 innodb_log_file_size、innodb_undo_tablespaces、temptable_use_mmap,如果你的設定裡有指定,升級前要先拿掉

怎麼升級?

  • 官方支援從 Cloud SQL for MySQL 8.4 做大版本原地升級
  • 也可以用 Database Migration Service(DMS)把 8.4 資料庫遷移到 9.7

給開發者的技術細節

升級前,先把會連線的帳號改成新的登入外掛。以下是 MySQL 的標準寫法,帳號與密碼請換成自己的:

-- 範例:把帳號改用 caching_sha2_password
ALTER USER 'app_user'@'%'
  IDENTIFIED WITH caching_sha2_password BY '<新密碼>';
  • 先在測試環境複製一份資料庫,完整跑過應用程式與排程,再升正式環境
  • 檢查資料庫旗標設定,把官方列為「移除」的旗標拿掉
  • 想用 hypergraph 最佳化器,要自己透過 optimizer switch 開啟,詳細做法見官方文件

我的看法

幫中小企業維護網站時,最常出事的不是新功能,而是「升級後某個很久沒人碰的程式連不上」。這次 9.7 拿掉舊登入外掛,就是典型的例子:資料庫升級很順,但排程腳本、舊報表工具、第三方外掛用的連線方式沒改,隔天才發現資料沒同步。

所以我的做法是:升級前先列出所有會連資料庫的程式與帳號,逐一確認登入方式。向量搜尋聽起來很吸引人,但如果專案目前沒有 AI 搜尋的需求,其實不必為了它急著升 9.7,等到真的要用再升也來得及。

名詞小辭典

  • 託管資料庫(Managed Database):資料庫的安裝、備份、更新由雲端廠商代管,使用者只管用。
  • 向量搜尋:把文字、圖片轉成一串數字,再比對數字距離,找出意思相近的內容。
  • 原地升級(In-place Upgrade):直接在現有的資料庫執行個體上升級,不用另外建一台新的。
  • GA(正式版):Generally Available,代表可以放心用在正式產品,不再是測試版。

資料來源

常見問題

MySQL 9.7 的向量搜尋能做什麼?
官方寫的是支援社群標準的向量儲存格式,並加上近似最近鄰(ANN)索引。簡單說,就是讓資料庫能找出「意思相近」的資料,常用在 AI 搜尋、推薦這類功能。
舊的登入外掛被拿掉,我會受到什麼影響?
如果你的程式或工具是用 mysql_native_password 方式登入內建帳號,升到 9.7 之後會連不上。要先把這些帳號與客戶端改成 caching_sha2_password,再做升級。
我現在用 8.4,可以直接升級嗎?
可以。官方寫明支援從 Cloud SQL for MySQL 8.4 做大版本原地升級,也可以用 Database Migration Service 把 8.4 資料庫遷到 9.7。實際升級前,建議先在測試環境跑一次。
LINE