本頁面說明如何就地升級及降級 Cloud SQL 執行個體。
就地變更 Cloud SQL 執行個體
您可以就地變更,升級或降級 Cloud SQL 執行個體的版本、機器類型或儲存空間類型,或升級資料庫版本。就地變更是重新設定執行個體最簡單、最不容易出錯的方法。
事前準備
在就地變更執行個體前,請先完成下列事項:
確認執行個體搭載 MySQL 8.0.31 以上版本。
如果執行個體採用舊版 MySQL,則必須升級至 MySQL 8.0.31 以上版本。詳情請參閱「就地升級資料庫主要版本」和「升級資料庫子版本」。
確認執行個體搭載的是最新維護版本。
如果執行個體採用舊版維護版本,則必須先更新至最新維護版本,才能將執行個體升級至 Cloud SQL Enterprise Plus 版本。如要進一步瞭解如何檢查及更新維護版本,請參閱「執行自助式維護」。
留意與機型相關的潛在儲存空間異動
不同版本支援不同的機器類型,這些類型會使用不同的儲存空間選項。高效能 C4、C4A 和 C4D 機型使用 Google Cloud Hyperdisk Balanced 儲存空間,而非舊版機型使用的永久磁碟選項。
變更使用的版本或機器類型時,儲存空間類型也可能隨之變更,這可能會導致部分停機時間,並影響儲存空間費用。改用 Google Cloud Hyperdisk Balanced 時,您可以指定其他設定選項。詳情請參閱「儲存空間異動」。
留意 PITR 交易記錄儲存空間異動
如果您要升級 Cloud SQL Enterprise 版本執行個體,且該執行個體將用於 PITR 的二進位記錄儲存在磁碟上,請注意,升級至 Cloud SQL Enterprise Plus 版本後,這些記錄的儲存位置會從磁碟移至 Cloud Storage。如要判斷執行個體 PITR 二進位記錄檔的目前位置,請參閱「查看用於 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 版本。如果執行個體有唯讀副本,您可以分別升級主要執行個體和唯讀副本,順序不拘。
控制台
-
前往 Google Cloud 控制台的「Cloud SQL Instances」(Cloud SQL 執行個體) 頁面。
- 點選執行個體名稱,開啟執行個體的「總覽」頁面。
- 按一下 [編輯]。
- 在「選擇 Cloud SQL 版本」部分,如果執行個體使用 Cloud SQL Enterprise 版本,請按一下「升級」;如果執行個體使用 Cloud SQL Enterprise Plus 版本,請按一下「切換至 Enterprise」。
- 在開啟的面板中,使用新版本指定執行個體的設定。請參閱「就地變更時的選項」。升級至 Cloud SQL Enterprise Plus 版本時,Cloud SQL 預設會啟用資料快取。如要停用資料快取,請取消勾選「Enable data cache」(啟用資料快取) 核取方塊。
- 輸入執行個體 ID 確認這些選項,然後依據您要升級或降級,按一下「Upgrade edition」(升級版本) 或「Switch edition」(切換版本)。
您也可以在「Instances」(執行個體) 頁面中,選取執行個體「Actions」(動作) 欄中的「Edit」(編輯),開始變更版本。
此外,如果執行個體採用 Cloud SQL Enterprise 版本,您可以在執行個體頁面的「Configuration」(設定) 區段中,點選版本欄位旁的「Upgrade」(升級) 連結,開始升級。
gcloud
下列 gcloud sql instances patch 程式碼範例說明如何將執行個體升級至 Cloud SQL Enterprise Plus 版本:
gcloud sql instances patch INSTANCE_ID \ --edition=enterprise-plus \ --tier=MACHINE_TYPE \ --project=PROJECT_ID
升級期間,Cloud SQL 預設會為執行個體啟用資料快取。如要停用資料快取,請在指令中加入 --no-enable-data-cache 旗標。C4D 機器系列不支援資料快取,因此如果升級至 C4D 機型 (8 個 vCPU 以上),就必須新增 --no-enable-data-cache 旗標。
更改下列內容:
- 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 版本執行個體的機型」。
升級期間,Cloud SQL 預設會為執行個體啟用資料快取。如要停用資料快取,請將 dataCacheEnabled 參數設為 false。
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 版本執行個體的機型」。
升級期間,Cloud SQL 預設會為執行個體啟用資料快取。如要停用資料快取,請將 dataCacheEnabled 參數設為 false。
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 版本時,您可以選擇 N2、C4A、C4 和 C4D 機器系列。
從 Cloud SQL Enterprise Plus 版本降級至 Cloud SQL Enterprise 版本時,您可以選擇一般用途專用核心和 N4 機器系列。
您也可以變更機器類型,而不變更版本。選擇編輯執行個體後,請前往「Customize your instance」(自訂執行個體) 區域中「Machine Configuration」(機器設定) 的「Machine」(機器) 子區段。您可以使用下拉式選單選取其他機型。您也可以選擇不同的 VCPU 數量,並視情況啟用或停用資料快取。
如需更多一般資訊,請參閱 N2、C4A、C4、C4D 和 N4 機器系列的 Compute Engine 說明文件。
儲存空間異動
如果從一般用途或 N2 機器系列變更為 N4、C4A、C4 或 C4D 機器系列,儲存空間會從固態硬碟 (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。
變更位置時,須符合下列條件:
- 這項程序大約需要
transactionLogRetentionDaysPITR 設定的時間長度,才能完成切換至 Cloud Storage。 - 如果您已為執行個體設定
expire_logs_days或binlog_expire_logs_seconds旗標的值,系統會保留這些值。 - 切換至 Cloud Storage 期間,您無法修改執行個體的
expire_logs_days或binlog_expire_logs_seconds旗標值。 - 切換至 Cloud Storage 期間,建議您不要修改
transactionLogRetentionDaysPITR 設定。即使您增加transactionLogRetentionDays,二進位記錄在磁碟上的保留時間也不會超過 Cloud SQL Enterprise 版本執行個體的預設值 7 天。
- 切換期間,Cloud SQL 只會保留磁碟上的記錄,保留時間為下列其中一項的最小值:
- 切換前的
transactionLogRetentionDaysPITR 設定,預設為 7 天。 - 在執行個體上手動設定的
expire_logs_days或binlog_expire_logs_seconds旗標。
- 切換前的
- 切換後,Cloud SQL 會在磁碟上保留與切換前相同數量的二進位記錄,除非您已在執行個體上設定
expire_logs_days或binlog_expire_logs_seconds旗標。如果您設定了這些旗標,Cloud SQL 會根據transactionLogRetentionDays設定的最小值或旗標值,將二進位記錄保留在磁碟上。
Cloud SQL Enterprise Plus 版本的備份和記錄檔儲存空間預設值
執行個體切換至 Cloud Storage 後,Cloud SQL 仍會在磁碟上保留二進位記錄副本,以便進行複製。如要使用 mysqlbinlog 公用程式瀏覽二進位記錄,將二進位記錄儲存在磁碟上會很有幫助。
如果您在升級前已在執行個體上設定 expire_logs_days 和 binlog_expire_logs_seconds 旗標,則設定的值會保持不變。
切換後,由於用於執行 PITR 的二進位記錄檔現在儲存在 Cloud Storage 中,請確認旗標值反映您預期的磁碟交易記錄保留時間。Cloud SQL 只會將記錄保留在磁碟上,保留時間為下列其中一項的最小值:
- 切換前的
transactionLogRetentionDaysPITR 設定,預設為 7 天 - 手動設定執行個體的
expire_logs_days或binlog_expire_logs_seconds旗標
如要節省磁碟空間,請在升級完成後,將 expire_logs_days 或 binlog_expire_logs_seconds 旗標的值設為相當於 1 天,這樣就能減少分配的磁碟大小和磁碟儲存空間費用。如要進一步瞭解交易記錄儲存空間和 PITR,請參閱「PITR 的記錄儲存空間」。
升級至 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 執行至主要版本升級前的時間點。即使保留期限涵蓋該時間範圍,這項限制仍適用。開始升級主要版本後,您可以將執行個體還原至某個時間點。