就地升級

本頁說明如何就地升級及降級 Cloud SQL 執行個體。

對 Cloud SQL 執行個體進行就地變更

您可以透過就地變更,升級或降級 Cloud SQL 執行個體的版本、機型、儲存空間類型或資料庫版本。就地變更執行個體是重新設定執行個體最簡單且最不容易出錯的方式。

事前準備

確認執行個體執行的是 MySQL 8.0.31 以上版本。

如果執行個體使用較舊的 MySQL 版本,則必須升級至 MySQL 8.0.31 以上版本。詳情請參閱「就地升級資料庫主要版本」和「升級資料庫子版本」。

不同版本支援的機器類型不同,使用的儲存空間選項也不同。高效能 C4 和 C4A 機型使用 Hyperdisk Balanced 儲存空間,而非舊版機型使用的永久磁碟選項。

變更使用的版本或機型時,儲存空間類型也可能會變更,這可能會導致停機時間,以及儲存空間費用異動。遷移至 Google Cloud Hyperdisk Balanced 時,您可以指定其他設定選項。詳情請參閱「儲存空間異動」。

瞭解時間點復原 (PITR) 交易記錄檔儲存空間異動

如果您要升級 Cloud SQL Enterprise 版執行個體,且該執行個體會將用於 PITR 的二進位記錄檔儲存在磁碟上,請注意,升級至 Cloud SQL Enterprise Plus 版的程序會將這些記錄檔的儲存位置從磁碟移至 Cloud Storage。如要判斷執行個體 PITR 二進位記錄的目前位置,請參閱「檢查用於 PITR 的交易記錄儲存位置」。

如要完整瞭解就地升級對二進位記錄位置的影響,請參閱「時間點復原的二進位記錄儲存位置變更」。

就地變更執行個體版本

本節說明如何就地變更 Cloud SQL 執行個體的版本,改用 Cloud SQL Enterprise Plus 版本,或從該版本改用其他版本。Cloud SQL Enterprise Plus 版本提供 Cloud SQL Enterprise 版本沒有的優點和效能提升。如要進一步瞭解 Cloud SQL 版本,請參閱「Cloud SQL 版本總覽」。

升級至 Cloud SQL Enterprise Plus 版本只需幾分鐘,且幾乎無須停機。切換回 Cloud SQL Enterprise 版本會導致停機時間較長。 這兩個程序都不需要變更應用程式連線的端點。

請按照本節的程序,將 Cloud SQL Enterprise 版執行個體升級為 Cloud SQL Enterprise Plus 版,或將 Cloud SQL Enterprise Plus 版執行個體降級為 Cloud SQL Enterprise 版。

控制台

  1. 前往 Cloud de Confiance 控制台的「Cloud SQL Instances」頁面。

    前往 Cloud SQL 執行個體

  2. 如要開啟執行個體的「總覽」頁面,請按一下執行個體名稱。
  3. 按一下 [編輯]
  4. 「選擇 Cloud SQL 版本」部分,如果執行個體使用 Cloud SQL Enterprise 版本,請按一下「升級」;如果執行個體使用 Cloud SQL Enterprise Plus 版本,請按一下「切換至 Enterprise」
  5. 使用開啟的面板,透過新版本指定執行個體的設定。請參閱 [就地變更時的選項](#change-options)。
  6. 輸入執行個體 ID 確認這些選擇,然後按一下「升級版本」或「切換版本」,視您要升級或降級而定。

您也可以在「執行個體」頁面中啟動版本變更,方法是選取執行個體「動作」欄中的「編輯」

此外,如果執行個體使用 Cloud SQL Enterprise 版,您可以點選執行個體頁面「設定」部分中,版本欄位旁的「升級」連結,開始升級。

gcloud

下列 [`gcloud sql instance patch`](/sdk/gcloud/reference/sql/instances/patch) 程式碼範例說明如何將執行個體升級為 Cloud SQL Enterprise Plus 版:

gcloud sql instances patch INSTANCE_ID \
  --edition=enterprise-plus \
  --tier=MACHINE_TYPE \
  --project=PROJECT_ID

更改下列內容:

  • PROJECT_ID:要升級的執行個體專案 ID。
  • INSTANCE_ID:要升級的執行個體名稱。
  • MACHINE_TYPE:要升級的執行個體機型。如要進一步瞭解 Cloud SQL Enterprise Plus 版本的機型,請參閱「Cloud SQL Enterprise Plus 版本執行個體的機型」。

REST

下列指令會將執行個體升級為 Cloud SQL Enterprise Plus 版本,並觸發重新啟動作業。

使用任何要求資料之前,請先修改下列項目的值:

  • PROJECT_ID:要升級的執行個體專案 ID。
  • INSTANCE_ID:要升級的執行個體 ID。
  • MACHINE_TYPE:要升級的執行個體機型。如要進一步瞭解 Cloud SQL Enterprise Plus 版本的機型,請參閱「Cloud SQL Enterprise Plus 版本執行個體的機型」。

HTTP 方法和網址:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID

JSON 要求主體:

{
  "settings": {
      "tier": "MACHINE_TYPE",
      "edition": "ENTERPRISE_PLUS",
      "dataCacheConfig": {
        "dataCacheEnabled": true
      },
  }
}

請展開以下其中一個選項,以傳送要求:

您應該會收到如下的 JSON 回覆:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

REST v1beta4

下列指令會將執行個體升級為 Cloud SQL Enterprise Plus 版本,並觸發重新啟動作業。

使用任何要求資料之前,請先修改下列項目的值:

  • PROJECT_ID:要升級的執行個體專案 ID。
  • INSTANCE_ID:要升級的執行個體 ID。
  • MACHINE_TYPE:要升級的執行個體機型。如要進一步瞭解 Cloud SQL Enterprise Plus 版本的機型,請參閱「Cloud SQL Enterprise Plus 版本執行個體的機型」。

HTTP 方法和網址:

PATCH https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID

JSON 要求主體:

{
  "settings": {
      "tier": "MACHINE_TYPE",
      "edition": "ENTERPRISE_PLUS",
      "dataCacheConfig": {
        "dataCacheEnabled": true
      },
  }
}

請展開以下其中一個選項,以傳送要求:

您應該會收到如下的 JSON 回覆:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

就地變更的選項

變更 Cloud SQL 執行個體的版本可能需要變更機器系列,進而影響儲存空間類型。

機器變更

變更版本時,您也必須變更機型。如要進一步瞭解 Cloud SQL 支援的機器系列,請參閱「選擇機器系列」。

從 Cloud SQL Enterprise 版升級至 Cloud SQL Enterprise Plus 版時,您可以選擇 N2C4AC4 機器系列。

從 Cloud SQL Enterprise Plus 版本降級至 Cloud SQL Enterprise 版本時,您可以選擇一般用途專屬核心,或是 N4 機器系列。

您也可以變更機型,不必變更版本。選擇編輯執行個體後,請前往「Customize your instance」(自訂執行個體) 區域的「Machine Configuration」(機器設定),然後選取「Machine」(機器) 子區段。您可以使用下拉式選單選取其他機型。您也可以選擇不同數量的 VCPU,並視需要啟用或停用資料快取

如需一般資訊,請參閱 Compute Engine 說明文件,瞭解 N2C4AC4N4 機器系列。

儲存空間變更

如果從一般用途或 N2 機器系列變更為 N4、C4A 或 C4 機器系列,儲存空間會從固態硬碟 (SSD)遷移至 Google Cloud Hyperdisk Balanced 儲存空間。這項升級作業通常只需要極短的停機時間。

您可以設定下列項目,根據用途自訂 Google Cloud Hyperdisk Balanced 儲存空間:

  • 儲存空間容量
  • 已佈建的 IOPS
  • 已佈建的處理量

Google Cloud Hyperdisk Balanced 會根據執行個體的設定 (包括機型和儲存空間容量),設定預設 IOPS 和處理量值及限制。儲存空間容量會設定預設值,機型則會設定 IOPS 和處理量的最大值。詳情請參閱「選擇儲存空間選項」。

PITR 二進位記錄檔的位置變更

如果 Cloud SQL Enterprise 版執行個體將 PITR 的交易記錄儲存在磁碟上,升級至 Cloud SQL Enterprise Plus 版時,這些記錄的儲存位置會切換至 Cloud Storage。

變更地點時須符合下列條件:

  • 整個程序大約需要 transactionLogRetentionDays PITR 設定的時間,才能完成切換至 Cloud Storage 的作業。
  • 如果執行個體已設定 expire_logs_daysbinlog_expire_logs_seconds 旗標的值,系統會保留這些值。
  • 切換至 Cloud Storage 時,您無法修改執行個體上 expire_logs_daysbinlog_expire_logs_seconds 旗標的值。
  • 切換至 Cloud Storage 時,建議您不要修改 transactionLogRetentionDays PITR 設定。即使您增加 transactionLogRetentionDays,二進位記錄在磁碟上的保留時間也不會超過預設的 7 天 (適用於 Cloud SQL Enterprise 版執行個體)。
  • 切換期間,Cloud SQL 只會將記錄保留在磁碟上,保留時間為下列其中一個值的最小值:
    • transactionLogRetentionDays切換前 PITR 設定,預設為 7 天。
    • 您在執行個體上設定的 expire_logs_daysbinlog_expire_logs_seconds 旗標。
  • 切換後,Cloud SQL 會在磁碟上保留與切換前相同數量的二進位記錄檔,除非您已在執行個體上設定 expire_logs_daysbinlog_expire_logs_seconds 旗標。如果您已設定這些旗標,Cloud SQL 會根據 transactionLogRetentionDays 設定或旗標值的下限,將二進位記錄檔保留在磁碟上。

Cloud SQL Enterprise Plus 版本備份和記錄儲存空間預設值

執行個體切換至 Cloud Storage 後,Cloud SQL 仍會保留磁碟上的二進位記錄副本,以供複製作業使用。如果您想使用 mysqlbinlog 公用程式瀏覽二進位記錄,將二進位記錄儲存在磁碟上會很有幫助。

如果您在升級前,已在執行個體上設定 expire_logs_daysbinlog_expire_logs_seconds 旗標,則設定的值會保持不變。

切換後,由於用於執行 PITR 的二進位記錄現在儲存在 Cloud Storage 中,請確保旗標的值反映您預期的磁碟交易記錄保留時間。Cloud SQL 只會將記錄保留在磁碟上,保留時間為下列其中一個值的最小值:

  • 切換前的 transactionLogRetentionDays PITR 設定,預設為 7 天
  • 在執行個體上以手動方式設定的 expire_logs_daysbinlog_expire_logs_seconds 旗標

如要節省磁碟空間,升級完成後,請將 expire_logs_daysbinlog_expire_logs_seconds 旗標的值設為相當於 1 天,以減少分配的磁碟大小和磁碟儲存空間費用。如要進一步瞭解交易記錄儲存空間和時間點復原功能,請參閱「時間點復原功能的記錄儲存空間」。

升級至 Cloud SQL Enterprise Plus 版本後,所有升級執行個體的預設交易記錄保留期限會延長至 14 天。無論是這次的增加,還是您為交易記錄保留期限設定的任何其他增加,都需要達到新的增加值,才能達到 PITR 的完整保留期限。舉例來說,如果交易記錄保留天數的舊值為 7,而新值增加至 14,則升級後前 7 天的 PITR 時間範圍僅為 7 天。第 8 天時,PITR 期間會變成 8 天,第 9 天時會變成 9 天,直到第 14 天時,保留期間最終會增加至 14 天。

此外,自動備份的預設數量也從 8 個增加到 15 個。

如果您在升級主要版本後升級至 Cloud SQL Enterprise Plus 版本,就無法執行 PITR,將資料庫還原至主要版本升級前的時間點。即使保留期限涵蓋該時間範圍,這項限制仍適用。啟動主要版本升級後,您可以將執行個體還原至特定時間點。