本頁說明如何升級 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:資料庫版本字串,包含資料庫主要和次要版本,可用於 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
使用 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"
}
檢查已安裝的資料庫子版本
查看執行個體摘要資訊時,「設定」部分會顯示已安裝的資料庫次要版本。
復原升級
測試升級時,如果發現問題,您可能需要將資料庫復原,以還原執行先前子版本的資料庫執行個體。
如要還原升級前的備份資料,請完成下列步驟:
- 在先前的子版本上佈建復原資料庫執行個體。
- 將復原資料庫執行個體的設定還原至升級前狀態。
- 將升級前建立的備份還原至復原執行個體。
除了還原備份,您也可以執行時間點復原並建立新執行個體。