從備份保存庫還原 Cloud SQL 執行個體

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」一文。

從最新備份還原 Cloud SQL 執行個體

請按照下列操作說明還原 Cloud SQL 執行個體。

主控台

  1. 前往 Google Cloud 控制台的「Vaulted backups」(已封存備份) 頁面。
  • 使用者應在目標執行個體所在的專案中,具備 roles/cloudsql.admin 角色。
  • 使用者必須在來源備份所在的專案中,具備 roles/backupdr.restoreUser 角色。 前往「Vaulted backups」(封存的備份) 「Vaulted backups」(封存的備份) 頁面只會列出符合下列條件的資料資源:已套用備份方案,且備份儲存於該專案中的 backup vault。
  1. 選取要還原的備份。在備份詳細資料頁面或 選單中,選取「還原」

「還原頁面」會顯示下列還原選項:

  • 「資源類型」會預先填入 Cloud SQL
  • 在「資源名稱」中,選取要還原的 Cloud SQL 執行個體。
  • 按一下「備份」,系統會開啟窗格,顯示所有可用的備份。 選取要還原的特定備份。
  • 在「選擇還原目的地」中,選取要還原 Cloud SQL 執行個體的專案。
  • 按一下「繼續」
  • 下一頁會顯示目前的還原詳細資料,並提示你選擇還原目的地,選項如下:

    • 還原至新執行個體:依據備份中儲存的設定建立新的執行個體。還原完畢之後,您可以自訂執行個體。請使用小寫英文字母、數字和連字號,提供新的執行個體 ID。並以英文字母開頭。
    • 覆寫現有執行個體:從可用執行個體清單中選取要覆寫的現有執行個體。
    • 覆寫來源執行個體:這會覆寫目前的執行個體。所選執行個體中的現有資料都會遭到覆寫,包括先前的時間點復原記錄。資料覆寫後即無法復原。不建議用於實際工作環境。

gcloud

事前準備

  1. 您必須先找出包含要還原備份的資料來源。您可以從 Cloud SQL 執行個體專案或備份儲存庫專案中,找到資料來源:

    • 從 Cloud SQL 執行個體專案:使用 data-source-reference
    gcloud alpha backup-dr data-source-references fetch-for-resource-type sqladmin.googleapis.com/Instance \
    --location=LOCATION \
    --project=CSQL_INSTANCE_PROJECT_ID \
    --filter='dataSourceGcpResourceInfo.cloudSqlInstanceProperties.name="projects/CSQL_INSTANCE_PROJECT_ID/instances/CSQL_INSTANCE_ID"' \
    --format="table(RESOURCE_NAME,DATA_SOURCE)"
    

    更改下列內容:

    + LOCATION: the location of the backup vault.
    + CSQL_INSTANCE_ID: the database name of the Cloud SQL instance.
    + CSQL_INSTANCE_PROJECT_ID: the project containing the Cloud SQL instance.
    
    • 從備份保存庫專案:使用 data-source
    gcloud backup-dr data-sources list \
    --location=LOCATION \
    --project=BACKUP_VAULT_PROJECT_ID \
    --filter='dataSourceGcpResource.cloudSqlInstanceDatasourceProperties.name=projects/CSQL_INSTANCE_PROJECT_ID/instances/CSQL_INSTANCE_ID' \
    --format="table(dataSourceGcpResource.cloudSqlInstanceDatasourceProperties.name:label=RESOURCE_NAME,name:label=DATA_SOURCE)"
    

    更改下列內容:

    + LOCATION: the location of the backup vault.
    + CSQL_INSTANCE_ID: the name of the Cloud SQL instance.
    + CSQL_INSTANCE_PROJECT_ID: the project containing the Cloud SQL instance.
    + BACKUP_VAULT_PROJECT_ID: the project containing the backup vault.
    
  2. 列出並選取要還原的備份。您需要列出資料來源中的所有備份。如要執行這項操作,請使用 backups list 指令。

    gcloud backup-dr backups list --data-source=DATA_SOURCE \
    --format="table(consistencyTime,backupType,name:label=BACKUP_NAME)"
    

還原備份

如要使用 Cloud SQL 還原指令還原 Cloud SQL 執行個體,請使用下列指令。

   gcloud sql backups restore BACKUP_NAME \
   --restore-instance=RESTORE_INSTANCE \
   --project=RESTORE_PROJECT

更改下列內容:

      + BACKUP_NAME: the backup vault name you want to restore data from.
      + RESTORE_INSTANCE: The target Cloud SQL instance name.
      + RESTORE_PROJECT: the project where you want to restore the Cloud SQL instance.

如要覆寫其他屬性,請參閱 Backup and DR Service Google Cloud CLI 指令總覽

將 Cloud SQL 執行個體還原至不同時間點

請按照下列操作說明,將 Cloud SQL 執行個體還原至特定時間點。時間點還原作業會建立 Cloud SQL 副本。

  1. 前往 Google Cloud 控制台的「Vaulted backups」(已封存備份) 頁面。

    前往「封存備份」

  2. 在表格頂端,依序選取「篩選表格」>「資源類型」。 選取「Cloud SQL」。這樣一來,畫面就只會顯示已套用備份方案,且備份儲存於專案 backup vault 中的 Cloud SQL 執行個體。

  3. 按一下「從某個時間點還原」。 Cloud SQL 的「建立副本」頁面隨即開啟。

  4. 按照「使用備份保存庫執行 PITR」一文中的程序操作。