本頁面說明如何升級 MySQL 執行個體的次版本。如要瞭解支援的版本,請參閱「資料庫版本和版本政策」。
每推出一個新次要版本,資料庫供應商就會發布新功能、安全性修補程式、錯誤修正和效能提升項目。此外,Cloud SQL 會在維護期間定期更新次要版本。
不過,MySQL 8.0 不支援降級。因此,例行維護不會自動升級子版本。您可以在建立執行個體時指定 Cloud SQL for MySQL 8.0 的次版本,或稍後透過升級程序指定。這兩種做法皆已在本頁說明。
升級至新的 MySQL 8.0 子版本前,請先熟悉相關變更。請參閱 MySQL 8.0 版本資訊。如果您使用 MySQL 適用的 Cloud SQL 5.6 或 5.7,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
:資料庫版本字串,其中包含可指定 MySQL 適用 Cloud SQL 子版本就地升級的資料庫主要版本和子版本。
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
使用加上 --database-version
旗標的 gcloud sql instances patch
指令。
請先替換下列變數,再執行指令:
- 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" }
查看已安裝的資料庫次要版本
查看執行個體摘要資訊時,您可以在「設定」部分看到資料庫的次要安裝版本。
復原升級
測試升級時,如果發現問題,建議您回復資料庫,以便還原執行舊次要版本的資料庫執行個體。
如要還原升級前的備份,請完成下列步驟:
- 在先前的次要版本中佈建復原資料庫執行個體。
- 將復原資料庫執行個體的設定設為升級前的狀態。
- 將升級前的備份還原至復原執行個體。
除了還原備份之外,您也可以執行時間點復原並建立新的執行個體。