本頁說明如何升級 MySQL 執行個體的次要版本。如要瞭解支援的版本,請參閱「資料庫版本和版本政策」。
資料庫供應商會在每個次要版本中發布新功能、安全性修補程式、錯誤修正和效能提升。此外,Cloud SQL 會在維護期間定期更新次要版本。
不過,MySQL 8.0 不支援降級。因此,例行維護不會自動升級子版本。建立執行個體時,您可以指定 MySQL 8.0 適用的 Cloud SQL 子版本,也可以稍後透過升級程序指定,這兩種做法都會在本頁面說明。
升級至新的 MySQL 8.0 子版本前,請先瞭解相關異動。請參閱 MySQL 8.0 版本資訊。 如果您使用 MySQL 5.6 或 5.7 適用的 Cloud SQL,Cloud SQL 會自動管理執行個體的次要版本。您佈建新執行個體時,Cloud SQL 會自動為執行個體設定最新的可用資料庫版本。在例行維護期間,Cloud SQL 會自動將執行個體升級至最新支援版本。
如要升級 MySQL 8.0 執行個體的資料庫子版本,請更新執行個體,並選擇偏好的子版本 (必須高於已安裝的子版本)。執行個體佈建完成後,就無法還原至未指定的小版本。
如果您執行的是 Cloud SQL Enterprise Plus 版本執行個體,則次要版本升級作業完成時幾乎不需要停機。
升級前
Cloud SQL 支援 MySQL 8.0 執行個體的子版本升級。 MySQL 8.0 不允許降級。因此,請先按照下列步驟操作,確保資料安全無虞,再升級主要執行個體。
選擇資料庫的目標次要版本。
gcloud
如要瞭解如何安裝及開始使用 gcloud CLI,請參閱「安裝 gcloud CLI」。如要瞭解如何啟動 Cloud Shell,請參閱「使用 Cloud Shell」。
如要查看哪些資料庫次要版本可就地升級,請按照下列步驟操作:
- 執行下列指令。
- 在指令輸出內容中,找出標示為
upgradableDatabaseVersions
的區段。 - 每個子區段都會傳回可升級的資料庫版本。在每個子區段中,查看下列欄位。
name
:資料庫版本字串,包含資料庫主要和次要版本,可用於 Cloud SQL for MySQL 次要版本就地升級。
gcloud sql instances describe INSTANCE_NAME
將 INSTANCE_NAME 替換為執行個體的名稱。
REST v1
如要檢查哪些資料庫次要版本可進行就地升級,請使用 Cloud SQL Admin API 的
instances.get
方法。使用任何要求資料之前,請先替換以下項目:
- INSTANCE_NAME:執行個體名稱。
HTTP 方法和網址:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME
如要傳送要求,請展開以下其中一個選項:
您應該會收到如下的 JSON 回應:
upgradableDatabaseVersions: { major_version: "MYSQL_8_0" name: "MYSQL_8_0_36" display_name: "MySQL 8.0.36" }
REST v1beta4
如要檢查哪些資料庫次要版本可進行就地升級,請使用 Cloud SQL Admin API 的
instances.get
方法。使用任何要求資料之前,請先替換以下項目:
- INSTANCE_NAME:執行個體名稱。
HTTP 方法和網址:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME
如要傳送要求,請展開以下其中一個選項:
您應該會收到如下的 JSON 回應:
upgradableDatabaseVersions: { major_version: "MYSQL_8_0" name: "MYSQL_8_0_36" display_name: "MySQL 8.0.36" }
如需 Cloud SQL 支援的資料庫版本完整清單,請參閱資料庫版本和版本政策。
在測試環境中測試升級。
複製正式環境執行個體,做為暫存執行個體。 這會建立新的資料庫執行個體,並沿用相同的主要和次要版本。
在暫存執行個體上執行子版本升級。
執行工作負載測試,確認升級成功,且應用程式運作正常。測試成功後,請繼續升級唯讀副本執行個體。
升級唯讀備用資源執行個體。
升級資料庫中的所有讀取副本,使其達到目標子版本。
確認應用程式運作正常。
備份主要執行個體。
與任何重大資料庫更新一樣,請備份主要執行個體。
升級子版本
您可以使用 gcloud
或 REST API,指定現有執行個體的資料庫次要版本。請在資料庫未使用的時間升級子版本。如果執行個體需要重新啟動,執行個體就會停機一段時間。Cloud SQL Enterprise Plus 版執行個體幾乎無須停機。如果已安裝的版本高於要求版本,系統就會拒絕要求。
gcloud
使用 gcloud sql instances patch
指令並加上 --database-version
旗標。
執行指令前,請先替換下列變數:
- INSTANCE_NAME:執行個體的名稱。
- DATABASE_VERSION:執行個體的資料庫版本。如未指定這個標記,系統會使用預設的主要版本。
gcloud sql instances patch INSTANCE_NAME \ --database-version=DATABASE_VERSION
REST v1
使用 PATCH 要求、
instances:patch 方法和 databaseVersion
旗標。
使用任何要求資料之前,請先替換以下項目:
- PROJECT_ID:專案 ID
- INSTANCE_ID:執行個體 ID
- DATABASE_VERSION:要升級的資料庫版本。
HTTP 方法和網址:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID
JSON 要求主體:
{ "databaseVersion": "DATABASE_VERSION" }
如要傳送要求,請展開以下其中一個選項:
您應該會收到如下的 JSON 回應:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID", "status": "PENDING", "user": "user@example.com", "insertTime": "2022-07-17T20:23:15.540Z", "operationType": "UPDATE", "name": "fa3f7304-ccf6-4d2f-a6f5-24df00000032", "targetId": "INSTANCE_ID", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/fa3f7304-ccf6-4d2f-a6f5-24df00000032", "targetProject": "PROJECT_ID" }
REST v1beta4
使用 PATCH 要求、
instances:patch 方法和 databaseVersion
旗標。
使用任何要求資料之前,請先替換以下項目:
- PROJECT_ID:專案 ID
- INSTANCE_ID:執行個體 ID
- DATABASE_VERSION:要升級的資料庫版本。
HTTP 方法和網址:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT-ID/instances/INSTANCE_ID
JSON 要求主體:
{ "databaseVersion": "DATABASE_VERSION" }
如要傳送要求,請展開以下其中一個選項:
您應該會收到如下的 JSON 回應:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID", "status": "PENDING", "user": "user@example.com", "insertTime": "2022-07-17T20:23:15.540Z", "operationType": "UPDATE", "name": "fa3f7304-ccf6-4d2f-a6f5-24df00000032", "targetId": "INSTANCE-ID", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/fa3f7304-ccf6-4d2f-a6f5-24df00000032", "targetProject": "PROJECT_ID" }
檢查已安裝的資料庫次要版本
查看執行個體摘要資訊時,「設定」部分會顯示已安裝的資料庫次要版本。
復原升級
測試升級時,如果發現問題,您可能需要將資料庫復原,以便復原執行先前次要版本的資料庫執行個體。
如要還原升級前的備份資料,請完成下列步驟:
- 在先前的次要版本上佈建復原資料庫執行個體。
- 將復原資料庫執行個體的設定還原至升級前狀態。
- 將升級前建立的備份還原至復原執行個體。
除了還原備份,您也可以執行時間點復原並建立新執行個體。