使用備份還原執行個體

您可以從備份還原執行個體,並將其復原至特定時間範圍,還原至新的或現有的執行個體。您可以還原現有或已刪除的執行個體。如要進一步瞭解還原作業,請參閱還原總覽

如要使用備份還原執行個體,請完成下列步驟:

  1. 找出要還原的備份
  2. 使用備份還原執行個體

備份位置取決於執行個體的備份選項

還原即時執行個體

您可以透過下列方式還原備份:

還原至相同執行個體

從備份還原資料至相同執行個體時,該執行個體的資料也會回到當初建立備份時的狀態。

如要使用備份將執行個體還原至同一執行個體,請按照下列步驟操作:

控制台

  1. 前往 Google Cloud 控制台的「Cloud SQL Backups」頁面。

    前往 Cloud SQL 備份

  2. 在「備份」頁面中,視執行個體的備份選項而定,按一下「標準層級」或「進階層級」

  3. 如果執行個體使用標準備份,請選取要查看備份的執行個體。

    如果執行個體使用進階級備份,請選取「進階級」,然後選取內含要使用備份的「Backup vault」。系統會顯示所選執行個體備份保存庫中的所有備份。

  4. 找出要還原的備份名稱,然後按一下「還原」

  5. 在「選擇還原目的地」中,選取「覆寫來源執行個體」

  6. 在「Destination instance ID」(目的地執行個體 ID) 欄位中,輸入要覆寫的執行個體名稱,確認您的選擇。

  7. 按一下「還原」

    Cloud SQL 會將備份還原至相同執行個體。如要查看還原作業的狀態,請前往執行個體的「Operations」(作業) 頁面。

    還原作業完成後,您就可以建立任何副本。

gcloud

  1. 還原前,您必須先從執行個體刪除所有備用資源。

    使用 gcloud sql instances describe 指令,判斷執行個體是否有任何唯讀副本:

    gcloud sql instances describe INSTANCE_NAME
    

    更改下列內容:

    • INSTANCE_NAME:執行個體的名稱。

    如果執行個體包含副本,請使用 gcloud sql instances delete 指令刪除副本:

    gcloud sql instances delete REPLICA_NAME
    

    更改下列內容:

    • REPLCICA_NAME:副本的名稱。
  2. 找出要使用的備份。

    如果執行個體使用標準備份,請使用 gcloud sql backups list 指令尋找備份,並記錄其 ID 值:

    gcloud sql backups list INSTANCE_NAME
    

    更改下列內容:

    • INSTANCE_NAME:執行個體的名稱。

    如果執行個體使用進階級備份,請參閱「列出 backup vault 中的所有備份」。

  3. 如要從指定備份還原執行個體,請使用 gcloud sql backups restore 指令:

    gcloud sql backups restore BACKUP_ID \
    --restore-instance=BACKUP_ID
    

    更改下列內容:

    • BACKUP_ID:要還原的備份 ID。
    • INSTANCE_NAME:執行個體的名稱。
  4. 還原作業完成後,請重新建立您在此程序中刪除的任何副本。

REST v1

  1. 如要判斷執行個體是否有任何唯讀備用資源,並取得其 ID,請列出執行個體的所有備用資源:

    使用任何要求資料之前,請先替換以下項目:

    • PROJECT_ID:專案 ID
    • INSTANCE_ID:執行個體 ID

    HTTP 方法和網址:

    GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID?fields=replicaNames

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

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

  2. 刪除執行個體的所有副本:

    使用任何要求資料之前,請先替換以下項目:

    • PROJECT_ID:專案 ID
    • REPLICA_ID:副本 ID

    HTTP 方法和網址:

    DELETE https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/REPLICA_ID

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

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

  3. 取得要使用的備份 ID。

    • 如果執行個體使用標準備份,請執行下列指令:

      使用任何要求資料之前,請先替換以下項目:

      • project-id:專案 ID
      • instance-id:執行個體 ID

      HTTP 方法和網址:

      GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/backupRuns

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

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

  4. 從備份還原執行個體:

    使用任何要求資料之前,請先替換以下項目:

    • PROJECT_ID:專案 ID
    • INSTANCE_ID:執行個體 ID
    • BACKUP_ID 備份 ID

    HTTP 方法和網址:

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

    JSON 要求主體:

    {
      "restoreBackupContext":
      {
        "backupRunId": "BACKUP_ID",
      }
    }
    

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

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

  5. 還原作業完成後,請重建您在此程序中刪除的任何副本。

REST v1beta4

  1. 如要判斷執行個體是否有任何唯讀備用資源,並取得其 ID,請列出執行個體的所有備用資源:

    
    
    
    
    
    
    
    
    
    

    使用任何要求資料之前,請先替換以下項目:

    • PROJECT_ID:專案 ID
    • INSTANCE_ID:執行個體 ID

    HTTP 方法和網址:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID?fields=replicaNames

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

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

  2. 刪除執行個體的所有副本:

    使用任何要求資料之前,請先替換以下項目:

    • PROJECT_ID:專案 ID
    • REPLICA_ID:副本 ID

    HTTP 方法和網址:

    DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/REPLICA_ID

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

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

  3. 取得要使用的備份 ID。

    • 如果執行個體使用標準備份,請執行下列指令:

      使用任何要求資料之前,請先替換以下項目:

      • project-id:專案 ID
      • instance-id:執行個體 ID

      HTTP 方法和網址:

      GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/backupRuns

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

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

  4. 從備份還原執行個體:

    使用任何要求資料之前,請先替換以下項目:

    • PROJECT_ID:專案 ID
    • INSTANCE_ID:執行個體 ID
    • BACKUP_RUN_ID:Cloud SQL 從備份還原執行個體時的日期和時間戳記

    HTTP 方法和網址:

    POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/restoreBackup

    JSON 要求主體:

    {
      "restoreBackupContext":
      {
        "backupRunId": "BACKUP_RUN_ID",
      }
    }
    

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

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

  5. 還原作業完成後,請重建您在此程序中刪除的任何副本。

還原至新的或現有執行個體

從備份還原資料至其他執行個體時,目標執行個體中的資料會更新為當初建立備份時的來源執行個體狀態。

如果需要專案的備份清單,但因服務中斷而無法在執行個體總覽頁面查看,可以使用 backupRuns.list API 和萬用字元 (-)。萬用字元選項會擷取專案中所有執行個體的所有備份清單。詳情請參閱「在服務中斷期間查看備份」。

如要將執行個體還原至新的或現有執行個體,請按照下列步驟操作:

控制台

  1. 前往 Google Cloud 控制台的「Cloud SQL Backups」頁面。

    前往 Cloud SQL 備份

  2. 在「備份」頁面中,視執行個體的備份選項而定,按一下「標準層級」或「進階層級」

  3. 如果執行個體使用標準備份,請選取要查看備份的執行個體。

    如果執行個體使用進階級備份,請選取「進階級」,然後選取內含要使用備份的「Backup vault」。系統會顯示所選執行個體備份保存庫中的所有備份。

  4. 找出要還原的備份名稱,然後按一下「還原」

  5. 在「選擇還原目的地」中:

    • 如要將執行個體還原至新執行個體,請選取「還原至新執行個體」,然後更新下列項目:

      • 確認「區域」下方顯示的區域。區域應與新執行個體的區域相符。
      • 在「Instance ID」(執行個體 ID) 方塊中,為新執行個體命名。這個名稱無法變更。
    • 如要將執行個體還原至現有執行個體,請選取「覆寫現有執行個體」,然後執行下列操作:

      • 在「要覆寫的執行個體」選單中,選取要用於還原的執行個體。所選執行個體及其所有資料都會遭到覆寫。

      • 在「Destination instance ID」(目的地執行個體 ID) 欄位中,輸入要覆寫的執行個體名稱,確認您的選擇。

  6. 按一下「還原」

    Cloud SQL 會將備份還原至新執行個體或現有執行個體,視您的選擇而定。如要查看還原作業的狀態,請前往執行個體的「Operations」(作業) 頁面。

    還原作業完成後,您就可以建立任何副本。

gcloud

  1. 如果要還原至現有執行個體,必須先從目標執行個體刪除所有備用資源,才能進行還原。

    使用 gcloud sql instances describe 指令,判斷執行個體是否有任何唯讀副本:

    gcloud sql instances describe TARGET_INSTANCE_NAME
    

    更改下列內容:

    • TARGET_INSTANCE_NAME:執行個體的名稱。

    如果執行個體包含副本,請使用 gcloud sql instances delete 指令刪除副本:

    gcloud sql instances delete REPLCICA_NAME
    

    更改下列內容:

    • REPLCICA_NAME:副本的名稱。
  2. 找出要使用的備份。

    如果執行個體使用標準備份,請使用 gcloud sql backups list 指令尋找備份,並記錄其 ID 值:

    gcloud sql backups list INSTANCE_NAME
    

    更改下列內容:

    • INSTANCE_NAME:執行個體的名稱。

    如果執行個體使用進階級備份,請參閱「列出 backup vault 中的所有備份」。

  3. 如要從指定備份還原執行個體,請使用 gcloud sql backups restore 指令:

    gcloud sql backups restore BACKUP_ID \
    --restore-instance=TARGET_INSTANCE_NAME \
    --backup-instance=SOURCE_INSTANCE_NAME
    

    更改下列內容:

    • BACKUP_ID:要還原的備份 ID。
    • TARGET_INSTANCE_NAME:目標新執行個體或現有執行個體的名稱。
    • SOURCE_INSTANCE_NAME:來源執行個體的名稱。
  4. 如果要還原至現有執行個體,還原作業完成後,請重新建立您在此程序中刪除的任何備用資源。

REST v1

  1. 如果使用現有執行個體,必須先刪除所有備用資源,才能還原。判斷執行個體是否有任何唯讀備用資源,並列出執行個體的所有備用資源,取得這些資源的 ID:

    使用任何要求資料之前,請先替換以下項目:

    • PROJECT_ID:專案 ID
    • INSTANCE_ID:執行個體 ID

    HTTP 方法和網址:

    GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID?fields=replicaNames

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

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

  2. 刪除執行個體的所有副本:

    使用任何要求資料之前,請先替換以下項目:

    • PROJECT_ID:專案 ID
    • REPLICA_ID:副本 ID

    HTTP 方法和網址:

    DELETE https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/REPLICA_ID

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

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

  3. 取得要使用的備份 ID。

    • 如果執行個體使用標準備份,請執行下列指令:

      使用任何要求資料之前,請先替換以下項目:

      • project-id:專案 ID
      • instance-id:執行個體 ID

      HTTP 方法和網址:

      GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/backupRuns

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

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

  4. 從備份還原執行個體:

    使用任何要求資料之前,請先替換以下項目:

    • project-id:專案 ID
    • target-instance-id:目標執行個體 ID
    • source-instance-id:來源執行個體 ID
    • backup-id 備份 ID

    HTTP 方法和網址:

    POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/target-instance-id/restoreBackup

    JSON 要求主體:

    {
      "restoreBackupContext":
      {
        "backupRunId": backup-id,
        "instanceId": "source-instance-id"
      }
    }
    

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

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

  5. 還原作業完成後,請重建您在此程序中刪除的任何副本。

REST v1beta4

  1. 如要判斷執行個體是否有任何唯讀備用資源,並取得其 ID,請列出執行個體的所有備用資源:

    使用任何要求資料之前,請先替換以下項目:

    • PROJECT_ID:專案 ID
    • INSTANCE_ID:執行個體 ID

    HTTP 方法和網址:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID?fields=replicaNames

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

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

  2. 刪除執行個體的所有副本:

    使用任何要求資料之前,請先替換以下項目:

    • PROJECT_ID:專案 ID
    • REPLICA_ID:副本 ID

    HTTP 方法和網址:

    DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/REPLICA_ID

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

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

  3. 取得要使用的備份 ID。

    • 如果執行個體使用標準備份,請執行下列指令:

      使用任何要求資料之前,請先替換以下項目:

      • project-id:專案 ID
      • instance-id:執行個體 ID

      HTTP 方法和網址:

      GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/backupRuns

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

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

  4. 從備份還原執行個體:

    使用任何要求資料之前,請先替換以下項目:

    • project-id:專案 ID
    • target-instance-id:目標執行個體 ID
    • source-instance-id:來源執行個體 ID
    • backup-id 備份 ID

    HTTP 方法和網址:

    POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/target-instance-id/restoreBackup

    JSON 要求主體:

    {
      "restoreBackupContext":
      {
        "backupRunId": backup-id,
        "instanceId": "source-instance-id"
      }
    }
    

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

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

  5. 還原作業完成後,請重建您在此程序中刪除的任何副本。

還原至其他專案中的執行個體

您可以使用 project 參數,將資料還原至其他專案中的執行個體。從備份還原至其他專案中的執行個體時,目標執行個體中的資料會更新為當初建立備份時的來源執行個體狀態。

如要將執行個體還原至其他專案,使用者必須具備下列權限: * 目標專案的 cloudsql.instances.restoreBackup 權限 * 來源專案的 cloudsql.backupRuns.get 權限。

這些權限包含在 Cloud SQL Admin 角色中。

如要使用備份將執行個體還原至其他專案或區域的執行個體,請按照下列步驟操作:

gcloud

如要將備份從備份保存庫還原至現有執行個體,請按照下列步驟操作:

  1. 如要還原至現有執行個體,請使用 gcloud sql instances describe 指令,判斷目標執行個體是否有任何唯讀副本:

    gcloud sql instance describe TARGET_INSTANCE_NAME
    

    更改下列內容:

    • TARGET_INSTANCE_NAME:要還原備份的目標執行個體名稱。

    使用 gcloud sql instances delete 指令,刪除目標執行個體的所有副本:

    gcloud sql instance delete REPLICA_NAME
    

    更改下列內容:

    • REPLICA_NAME:目標執行個體副本的名稱。

    您必須先刪除所有副本,才能還原至現有執行個體。

  2. 找出要使用的備份。

    如果執行個體使用標準備份,請使用 gcloud sql backups list 指令尋找備份,並記錄其 ID 值:

    gcloud sql backups list INSTANCE_NAME
    

    更改下列內容:

    • INSTANCE_NAME:執行個體的名稱。

    如果執行個體使用進階級備份,請參閱「列出 backup vault 中的所有備份」。

  3. 如要還原至新專案中的新執行個體或現有執行個體,請使用 gcloud sql backups restore 指令:

    gcloud sql backups restore BACKUP_ID
    --restore-instance=TARGET_INSTANCE_NAME
    --backup-instance=SOURCE_INSTANCE_NAME
    --backup-project=SOURCE_INSTANCE_PROJECT
    

    更改下列內容:

    • BACKUP_ID:備份保存庫中的備份 ID。您必須在這個欄位中加入備份的完整路徑。

    • TARGET_INSTANCE_NAME:您要還原資料的目的地專案中的執行個體。

    • SOURCE_INSTANCE_NAME:來源專案中資料所在的執行個體名稱。

    • SOURCE_INSTANCE_PROJECT:包含來源執行個體的專案。

REST v1

  1. 如要取得 backupId,請執行下列指令:

    使用任何要求資料之前,請先替換以下項目:

    • project-id:專案 ID
    • instance-id:執行個體 ID

    HTTP 方法和網址:

    GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/backupRuns

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

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

  2. 將備份還原至其他專案中的執行個體:

    使用任何要求資料之前,請先替換以下項目:

    • source-project-id:來源專案 ID
    • target-project-id:目標專案 ID
    • target-instance-id:目標執行個體 ID
    • source-instance-id:來源執行個體 ID
    • backup-id 備份 ID

    HTTP 方法和網址:

    POST https://sqladmin.googleapis.com/v1/projects/target-project-id/instances/target-instance-id/restoreBackup

    JSON 要求主體:

    {
      "restoreBackupContext":
      {
        "backupRunId": backup-id,
        "project": "source-project-id",
        "instanceId": "source-instance-id"
      }
    }
    

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

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

REST v1beta4

  1. 如要取得 backupId,請執行下列指令:

    使用任何要求資料之前,請先替換以下項目:

    • project-id:專案 ID
    • instance-id:執行個體 ID

    HTTP 方法和網址:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/backupRuns

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

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

  2. 將備份還原至其他專案中的執行個體:

    使用任何要求資料之前,請先替換以下項目:

    • source-project-id:來源專案 ID
    • target-project-id:目標專案 ID
    • target-instance-id:目標執行個體 ID
    • source-instance-id:來源執行個體 ID
    • backup-id 備份 ID

    HTTP 方法和網址:

    POST https://sqladmin.googleapis.com/sql/v1beta4/projects/target-project-id/instances/target-instance-id/restoreBackup

    JSON 要求主體:

    {
      "restoreBackupContext":
      {
        "backupRunId": backup-id,
        "project": "source-project-id",
        "instanceId": "source-instance-id"
      }
    }
    

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

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

還原已刪除的執行個體

您可以使用最終備份保留的備份,在下列情況下還原已刪除的執行個體:

還原至現有執行個體

從最終或保留備份還原資料至現有執行個體時,目標執行個體中的資料會更新為當初建立備份時的來源執行個體狀態。如要進一步瞭解如何還原執行個體,請參閱有關執行還原的一般提示

如要使用備份將已刪除的執行個體還原至現有執行個體,請按照下列步驟操作:

控制台

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

    前往 Cloud SQL 執行個體

  2. 如果目標執行個體有任何唯讀備用資源,請使用更多動作選單 更多動作圖示。 刪除這些項目。您必須先刪除所有備用資源,才能將保留或最終備份還原至現有執行個體。

  3. 前往 Google Cloud 控制台的「Cloud SQL Backups」頁面。

    前往 Cloud SQL 備份

  4. 在「備份」頁面中,視執行個體的備份選項而定,按一下「標準層級」或「進階層級」

  5. 如果執行個體使用標準備份,請按一下包含要還原備份的已刪除執行個體名稱。

    如果執行個體使用進階級備份,請選取「進階級」,然後選取包含要使用備份的「備份保存庫」。系統會顯示所選執行個體備份保存庫中的所有備份。

  6. 找出要還原的備份名稱,然後按一下「還原」

  7. 在「Restore an instance from a backup」(從備份還原執行個體) 頁面中,確認您已在「Review backup details」(查看備份詳細資料) 中選取正確的備份。

  8. 在「選擇還原目的地」部分中,選取「覆寫現有執行個體」

  9. 在「要覆寫的執行個體」選單中,選取要還原備份的執行個體。所選執行個體和當中的所有資料都會遭到覆寫。

  10. 如要確認所選項目,請在「Destination instance ID」欄位中,輸入要覆寫的執行個體名稱。

  11. 按一下「還原」

    Cloud SQL 會將備份還原至現有執行個體。如要查看還原作業的狀態,請前往執行個體的「Operations」(作業) 頁面。

    還原作業完成後,您就可以建立任何副本。

gcloud

1.  When restoring to an existing instance, all replicas must be deleted
from your target instance prior to restoring.

Determine if your instance has any read replicas using the
[`gcloud sql instances describe`](/sdk/gcloud/reference/sql/instances/describe)
command:

```gcloud
gcloud sql instances describe TARGET_INSTANCE_NAME
```

Replace the following:

*   `TARGET_INSTANCE_NAME`: the name of the instance.

If your instance contains replicas, then delete the replicas
using the
[`gcloud sql instances delete`](/sdk/gcloud/reference/sql/instances/delete)
command:

```gcloud
gcloud sql instances delete REPLCICA_NAME
```

Replace the following:

*   `REPLCICA_NAME`: the name of the replica.
  1. 找出要使用的備份。

    如果執行個體使用標準備份,請使用 gcloud sql backups list 指令尋找備份,並記錄其 ID 值:

    gcloud sql backups list INSTANCE_NAME
    

    更改下列內容:

    • INSTANCE_NAME:執行個體的名稱。

    如果執行個體使用進階級備份,請參閱「列出 backup vault 中的所有備份」。

  2. 如要從指定備份還原執行個體,請使用 gcloud sql backups restore 指令:

    gcloud sql backups restore BACKUP_ID \
    --restore-instance=TARGET_INSTANCE_NAME
    

    更改下列內容:

    • BACKUP_ID:要還原的備份 ID。
    • TARGET_INSTANCE_NAME:新目標執行個體或現有目標執行個體的名稱。
  3. 還原作業完成後,請重建您在此程序中刪除的任何副本。

REST v1

  1. 還原至現有執行個體時,必須先從目標執行個體刪除所有備用資源,才能還原。如要判斷執行個體是否有任何唯讀副本,請執行下列指令:

    使用任何要求資料之前,請先替換以下項目:

    • PROJECT_ID:專案 ID
    • INSTANCE_ID:執行個體 ID

    HTTP 方法和網址:

    GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID?fields=replicaNames

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

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

  2. 刪除執行個體的所有唯讀副本:

    使用任何要求資料之前,請先替換以下項目:

    • PROJECT_ID:專案 ID
    • REPLICA_ID:副本 ID

    HTTP 方法和網址:

    DELETE https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/REPLICA_ID

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

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

  3. 取得要使用的最終或保留備份 ID:

    使用任何要求資料之前,請先替換以下項目:

    • PROJECT_ID:專案 ID

    HTTP 方法和網址:

    GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups

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

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

  4. 從保留或最終備份還原目標執行個體。

    使用任何要求資料之前,請先替換以下項目:

    • PROJECT_ID:專案 ID
    • TARGET_INSTANCE_ID:目標執行個體 ID
    • BACKUP_ID:備份 ID

    HTTP 方法和網址:

    POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/TARGET_INSTANCE_ID/restoreBackup

    JSON 要求主體:

    {
      backup: projects/PROJECT_ID/backups/BACKUP_ID
    }
    

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

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

REST v1beta4

  1. 還原至現有執行個體時,必須先從目標執行個體刪除所有備用資源,才能還原。如要判斷執行個體是否有任何唯讀副本,請執行下列指令:

    使用任何要求資料之前,請先替換以下項目:

    • PROJECT_ID:專案 ID
    • INSTANCE_ID:執行個體 ID

    HTTP 方法和網址:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID?fields=replicaNames

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

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

  2. 刪除執行個體的所有唯讀副本:

    使用任何要求資料之前,請先替換以下項目:

    • PROJECT_ID:專案 ID
    • REPLICA_ID:副本 ID

    HTTP 方法和網址:

    DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/REPLICA_ID

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

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

  3. 取得要使用的最終或保留備份 ID:

    使用任何要求資料之前,請先替換以下項目:

    • PROJECT_ID:專案 ID

    HTTP 方法和網址:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups

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

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

  4. 從保留或最終備份還原目標執行個體。

    使用任何要求資料之前,請先替換以下項目:

    • PROJECT_ID:專案 ID
    • TARGET_INSTANCE_ID:目標執行個體 ID
    • BACKUP_ID:備份 ID

    HTTP 方法和網址:

    POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/TARGET_INSTANCE_ID/restoreBackup

    JSON 要求主體:

    {
      backup: projects/PROJECT_ID/backups/BACKUP_ID
    }
    

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

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

還原至新執行個體

從最終或保留的備份建立執行個體時,Cloud SQL 會使用備份來源執行個體的設定。執行個體建立完成後,Cloud SQL 會將資料還原至備份時的狀態。

如要將最終或保留的備份資料還原至新執行個體,您必須具備下列權限:

  • 目標專案的 cloudsql.instances.create 權限
  • 目標專案的 cloudsql.instances.restoreBackup 權限
  • 來源備份檔案:cloudsql.backupRuns.get permission

Cloud SQL 管理員角色也具有這些權限。

如要使用備份將已刪除的執行個體還原至新執行個體,請按照下列步驟操作:

控制台

  1. 前往 Google Cloud 控制台的「Cloud SQL Backups」頁面。

    前往 Cloud SQL 備份

  2. 在「備份」頁面中,視執行個體的備份選項而定,按一下「標準層級」或「進階層級」

  3. 如果執行個體使用標準備份,請按一下包含要還原備份的已刪除執行個體名稱。

    如果執行個體使用進階級備份,請選取「進階級」,然後選取內含要使用備份的「Backup vault」。系統會顯示所選執行個體備份保存庫中的所有備份。

  4. 找出要還原的備份名稱,然後按一下「還原」

  5. 在「Restore an instance from a backup」(從備份還原執行個體) 頁面中,確認您已在「Review backup details」(查看備份詳細資料) 中選取正確的備份。

  6. 在「選擇還原目的地」部分,選取「還原至新執行個體」

  7. 從「Region」(地區) 選單中,選取新執行個體的地區。

  8. 在「Instance ID」(執行個體 ID) 欄位中,輸入新執行個體的 ID。 建立後即無法變更。

  9. 按一下「還原」

    Cloud SQL 會將備份還原至現有執行個體。如要查看還原作業的狀態,請前往執行個體的「Operations」(作業) 頁面。

gcloud

  1. 找出要使用的備份。

    如果執行個體使用標準備份,請使用 gcloud sql backups list 指令尋找備份,並記錄其 ID 值:

    gcloud sql backups list INSTANCE_NAME
    

    更改下列內容:

    • INSTANCE_NAME:執行個體的名稱。

    如果執行個體使用進階級備份,請參閱「列出 backup vault 中的所有備份」。

  2. 如要從指定備份還原執行個體,請使用 gcloud sql backups restore 指令:

    gcloud sql backups restore BACKUP_ID \
    --restore-instance=TARGET_INSTANCE_NAME
    

    更改下列內容:

    • BACKUP_ID:要還原的備份 ID。
  3. TARGET_INSTANCE_NAME:新目標執行個體或現有目標執行個體的名稱。

REST v1

從指定的保留或最終備份還原新的執行個體

使用任何要求資料之前,請先替換以下項目:

  • PROJECT_ID:專案 ID
  • TARGET_INSTANCE_ID:目標執行個體 ID
  • BACKUP_ID:備份 ID

HTTP 方法和網址:

POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/TARGET_INSTANCE_ID/restoreBackup

JSON 要求主體:

{
  backup: projects/PROJECT_ID/backups/BACKUP_ID
  restore_instance_settings: {}
}

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

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

REST v1beta4

從指定的保留或最終備份還原新的執行個體

使用任何要求資料之前,請先替換以下項目:

  • PROJECT_ID:專案 ID
  • TARGET_INSTANCE_ID:目標執行個體 ID
  • BACKUP_ID:備份 ID

HTTP 方法和網址:

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/TARGET_INSTANCE_ID/restoreBackup

JSON 要求主體:

{
  backup: projects/PROJECT_ID/backups/BACKUP_ID
  restore_instance_settings: {}
}

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

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

還原至其他專案中的新執行個體或現有執行個體

您可以使用 project 參數,將資料還原至不同專案中的執行個體。從備份將已刪除的執行個體還原至其他專案的執行個體時,目標執行個體會更新為當初建立備份時的來源執行個體狀態。

如要將執行個體還原至其他專案,使用者必須具備下列權限: * 目標專案的 cloudsql.instances.create 權限 * 目標專案的 cloudsql.instances.restoreBackup 權限 * 來源備份的 cloudsql.backupRuns.get permission 權限。

這些權限包含在 Cloud SQL Admin 角色中。

如要使用備份將執行個體還原至其他專案或區域的執行個體,請按照下列步驟操作:

gcloud

  1. 如要還原至現有執行個體,請使用 gcloud sql instances describe 指令,判斷目標執行個體是否有任何唯讀副本:

    gcloud sql instance describe TARGET_INSTANCE_NAME
    

    更改下列內容:

    • TARGET_INSTANCE_NAME:要還原備份的目標執行個體名稱。

    使用 gcloud sql instances delete 指令,刪除目標執行個體的所有副本:

    gcloud sql instance delete REPLICA_NAME
    

    更改下列內容:

    • REPLICA_NAME:目標執行個體副本的名稱。

    您必須先刪除所有副本,才能還原至現有執行個體。

    1. 找出要使用的備份。

    如果執行個體使用標準備份,請使用 gcloud sql backups list 指令尋找備份,並記錄其 ID 值:

    gcloud sql backups list INSTANCE_NAME
    

    更改下列內容:

    • INSTANCE_NAME:執行個體的名稱。

    如果執行個體使用進階級備份,請參閱「列出 backup vault 中的所有備份」。

  2. 如要還原至新專案中的新執行個體或現有執行個體,請使用 gcloud sql backups restore 指令:

    gcloud sql backups restore BACKUP_ID
    --restore-instance=TARGET_INSTANCE_NAME
    --backup-instance=SOURCE_INSTANCE_NAME
    --backup-project=SOURCE_INSTANCE_PROJECT
    

    更改下列內容:

    • BACKUP_ID:備份保存庫中的備份 ID。您必須在這個欄位中加入備份的完整路徑。

    • TARGET_INSTANCE_NAME:您要還原資料的目的地專案中的執行個體。

    • SOURCE_INSTANCE_NAME:來源專案中資料所在的執行個體名稱。

    • SOURCE_INSTANCE_PROJECT:包含來源執行個體的專案。

REST v1

如要取得保留或最終備份的 backupID,請執行下列指令:

使用任何要求資料之前,請先替換以下項目:

  • PROJECT_ID:專案 ID

HTTP 方法和網址:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups

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

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

還原至其他專案

使用任何要求資料之前,請先替換以下項目:

  • PROJECT_ID:專案 ID
  • TARGET_INSTANCE_ID:目標執行個體 ID
  • BACKUP_ID:備份 ID

HTTP 方法和網址:

POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/TARGET_INSTANCE_ID/restoreBackup

JSON 要求主體:

{
  backup: projects/PROJECT_ID/backups/BACKUP_ID
}

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

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

REST v1beta4

如要取得保留或最終備份的 backupID,請執行下列指令:

使用任何要求資料之前,請先替換以下項目:

  • PROJECT_ID:專案 ID

HTTP 方法和網址:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups

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

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

還原至其他專案

使用任何要求資料之前,請先替換以下項目:

  • PROJECT_ID:專案 ID
  • TARGET_INSTANCE_ID:目標執行個體 ID
  • BACKUP_ID:備份 ID

HTTP 方法和網址:

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/TARGET_INSTANCE_ID/restoreBackup

JSON 要求主體:

{
  backup: projects/PROJECT_ID/backups/BACKUP_ID
}

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

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

後續步驟

* 進一步瞭解如何備份資料。 * 瞭解如何備份資料