管理最终备份

本页面介绍了如何管理 Cloud SQL 实例的最终备份。在删除实例之前,您可以对实例进行最终备份。然后,您可以将最终备份恢复到新实例或现有实例。这样一来,您就可以重新创建您不小心删除的任何实例,或者将这些实例用于任何灾难恢复场景。

和与实例关联的自动备份和按需备份不同,您可以在删除实例之前进行最终备份。Cloud SQL 会在实例生命周期结束后继续存储此备份。

您可以使用现有的 gcloud CLI 命令来列出、说明、更新和删除最终备份。如果您使用的是自定义角色,请向这些角色添加以下权限:

  • cloudsql.backupRuns.list
  • cloudsql.backupRuns.get
  • cloudsql.backupRuns.update
  • cloudsql.backupRuns.delete

如需详细了解这些权限,请参阅所需权限。此外,如需详细了解备份的工作原理,请参阅 Cloud SQL 备份简介

所需权限

Google Cloud 控制台

如需管理 Google Cloud 项目中的最终备份,您需要拥有以下权限:

任务 所需权限
列出最终备份 cloudsql.backupRuns.list
描述最终备份 cloudsql.backupRuns.get
更新最终备份 cloudsql.backupRuns.update
删除最终备份 cloudsql.backupRuns.delete

gcloud CLI

如需管理 Google Cloud 项目中的最终备份,您需要拥有以下权限:

操作 命令 所需权限
列出最终备份 gcloud sql backups list cloudsql.backupRuns.list
描述最终备份 gcloud sql backups describe cloudsql.backupRuns.get
更新最终备份 gcloud sql backups patch cloudsql.backupRuns.update
删除最终备份 gcloud sql backups delete cloudsql.backupRuns.delete

REST

如需管理 Google Cloud 项目中的最终备份,您需要拥有以下权限:

操作 方法 所需权限
列出最终备份 backups.list cloudsql.backupRuns.list
描述最终备份 backups.describe cloudsql.backupRuns.get
更新最终备份 backups.patch cloudsql.backupRuns.update
删除最终备份 backups.delete cloudsql.backupRuns.delete

查看最终备份列表

您可以使用 Google Cloud 控制台、gcloud CLI 或 Cloud SQL API 查看最终备份列表和备份详情。

Google Cloud 控制台不会在备份历史记录中显示被跳过或失败的备份。如需查看这些类型的备份,请使用 gcloud 或 Cloud SQL API。

控制台

  1. 在 Google Cloud 控制台中,前往 Cloud SQL 备份页面。

    前往 Cloud SQL 备份

    本页面列出了与 Google Cloud 项目关联的所有备份,包括最终备份。

  2. 如需查看最终备份的详细信息,请点击相应备份。系统随即会显示最终备份对话框。此对话框会显示以下信息:

    • 用于创建最终备份的实例删除的日期和时间
    • 已删除实例的名称和版本
    • 日期和时间戳,表示 Cloud SQL 保留最终备份的时间
    • 最终备份的说明

gcloud

  1. 如需获取与 Google Cloud 项目关联的所有最终备份的列表,请使用 gcloud sql backups list 命令:

    gcloud sql backups list \
    --filter="type=FINAL"
  2. 如需查看有关最终备份的详细信息,请使用 gcloud sql backups describe 命令:

    gcloud sql backups describe \
    BACKUP_NAME

    您可以从运行 gcloud sql backups list 命令的输出中获取 BACKUP_NAMEBACKUP_NAME 采用以下格式:projects/PROJECT_ID/backups/BACKUP_ID

REST v1

获取最终备份列表

使用此示例可获取与 Google Cloud 项目关联的所有最终备份的列表。如需查看此调用的完整参数列表,请参阅 backupRuns.list 页面。

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_ID:项目 ID
  • INSTANCE_ID:实例 ID

HTTP 方法和网址:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups?filter=type=FINAL

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

查看最终备份的详细信息

使用此示例可查看最终备份的详细信息。如需查看此调用的完整参数列表,请参阅 backupRuns.get 页面。

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_ID:项目 ID。
  • BACKUP_ID:备份 ID。您可以从运行上一个调用的输出中获取此 ID。

HTTP 方法和网址:

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

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

REST v1beta4

获取最终备份列表

使用此示例可获取与 Google Cloud 项目关联的所有最终备份的列表。如需查看此调用的完整参数列表,请参阅 backupRuns.list 页面。

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_ID:项目 ID
  • INSTANCE_ID:实例 ID

HTTP 方法和网址:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups?filter=type=FINAL

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

查看最终备份的详细信息

使用此示例可查看最终备份的详细信息。如需查看此调用的完整参数列表,请参阅 backupRuns.get 页面。

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_ID:项目 ID。
  • BACKUP_ID:备份 ID。您可以从运行上一个调用的输出中获取此 ID。

HTTP 方法和网址:

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

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

更新最终备份

您可以使用 Google Cloud 控制台、gcloud CLI 或 Cloud SQL API 更新实例的 Cloud SQL 保留最终备份的时间和备份说明。

控制台

  1. 在 Google Cloud 控制台中,前往 Cloud SQL 备份页面。

    前往 Cloud SQL 备份

    本页面列出了与 Google Cloud 项目关联的所有备份,包括最终备份。

  2. 如需更新最终备份,请点击相应备份。系统随即会显示最终备份对话框。
  3. 如需更新 Cloud SQL 保留最终备份的时间长度,请完成以下操作:
    1. 点击备份保留期限字段旁边的修改保留期限图标。
    2. 点击保留备份数据至字段旁边的选择日期图标。
    3. 在日历中,选择新日期,以指明 Cloud SQL 保留最终备份的时间。
    4. 点击更新。您会返回到 Cloud SQL 备份页面。
  4. 如需更新最终备份的说明,请完成以下操作:
    1. 点击最终备份。
    2. 点击说明字段旁边的修改说明图标。
    3. 描述此备份字段中,输入最终备份的更新说明。
    4. 点击更新。您会返回到 Cloud SQL 备份页面。

gcloud

  1. 如需获取与 Google Cloud 项目关联的所有最终备份的列表,请使用 gcloud sql backups list 命令:

    gcloud sql backups list \
    --filter="type=FINAL"
  2. 如需更新最终备份的说明和保留期限,请使用 gcloud sql backups patch 命令:

    gcloud sql backups patch \
    BACKUP_NAME  \
    --description=DESCRIPTION /
    --expiry-time=DATE-AND-TIME-STAMP | --ttl-days=NUMBER-OF-DAYS

    您可以从运行 gcloud sql backups list 命令的输出中获取 BACKUP_NAMEBACKUP_NAME 采用以下格式:projects/PROJECT_ID/backups/BACKUP_ID

    对于 --expiry-time--ttl-days 标志,请遵循以下准则:

    • 对于 --expiry-time 标志,请指定 Cloud SQL 自动删除最终备份的日期和时间戳。
    • 对于 --ttl-days 标志,请指定最终备份的保留期限(1 到 365 天)。这称为存留时间 (TTL)。保留期限从当前日期和时间开始计算,Cloud SQL 允许的保留期限上限为 1 年(或 365 天)。

REST v1

获取最终备份列表

使用此示例可获取与 Google Cloud 项目关联的所有最终备份的列表。如需查看此调用的完整参数列表,请参阅 backupRuns.list 页面。

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_ID:项目 ID
  • INSTANCE_ID:实例 ID

HTTP 方法和网址:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups?filter=type=FINAL

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

更新保留期限

您可以通过以下任一方式更新最终备份的保留期限:

  • 保留天数:修改 Cloud SQL 保留备份的天数。
  • 到期时间:提供 Cloud SQL 自动删除备份的更新日期和时间戳。
更新保留天数

使用此示例更新 Cloud SQL 保留最终备份的天数。如需查看此调用的完整参数列表,请参阅 backupRuns.update 页面。

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_ID:项目 ID。
  • BACKUP_ID:备份 ID。您可以从运行上一个调用的输出中获取此 ID。
  • TTL_DAYS:最终备份的保留期限(1 到 365 天)。这称为存留时间 (TTL)。保留期限从当前日期和时间开始计算,Cloud SQL 允许的保留期限上限为 1 年(或 365 天)。

HTTP 方法和网址:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups/BACKUP_ID?update_mask=ttl_days

请求 JSON 正文:

{
        "backup": {
            expiration: {
            "ttl_days": TTL_DAYS,
            }
         },
}

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

更新到期时间

使用此示例为 Cloud SQL 删除备份的时间提供更新的日期和时间戳。如需查看此调用的完整参数列表,请参阅 backupRuns.update 页面。

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_ID:项目 ID。
  • BACKUP_ID:备份 ID。您可以从运行上一个调用的输出中获取此 ID。
  • DATE_AND_TIME_STAMP:Cloud SQL 自动删除最终备份的时间戳。

HTTP 方法和网址:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups/BACKUP_ID?update_mask=expiry_time

请求 JSON 正文:

{
        "backup": {
            expiration: {
            "expiry_time": DATE_AND_TIME_STAMP,
            }
         },
}

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

更新说明

使用此示例更新最终备份的说明。如需查看此调用的完整参数列表,请参阅 backupRuns.update 页面。

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_ID:项目 ID。
  • BACKUP_ID:备份 ID。您可以从运行上一个调用的输出中获取此 ID。
  • DESCRIPTION:最终备份的更新说明。

HTTP 方法和网址:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups/BACKUP_ID?update_mask=description

请求 JSON 正文:

{
        "backup": {
            "description": DESCRIPTION,
         },
}

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

REST v1beta4

获取最终备份列表

使用此示例可获取与 Google Cloud 项目关联的所有最终备份的列表。如需查看此调用的完整参数列表,请参阅 backupRuns.list 页面。

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_ID:项目 ID
  • INSTANCE_ID:实例 ID

HTTP 方法和网址:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups?filter=type=FINAL

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

更新保留期限

您可以通过以下任一方式更新最终备份的保留期限:

  • 保留天数:修改 Cloud SQL 保留备份的天数
  • 到期时间:提供 Cloud SQL 自动删除备份的更新日期和时间戳。
更新保留天数

使用此示例更新 Cloud SQL 保留最终备份的天数。如需查看此调用的完整参数列表,请参阅 backupRuns.update 页面。

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_ID:项目 ID。
  • BACKUP_ID:备份 ID。您可以从运行上一个调用的输出中获取此 ID。
  • TTL_DAYS:最终备份的保留期限(1 到 365 天)。这称为存留时间 (TTL)。保留期限从当前日期和时间开始计算,Cloud SQL 允许的保留期限上限为 1 年(或 365 天)。

HTTP 方法和网址:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups/BACKUP_ID?update_mask=ttl_days

请求 JSON 正文:

{
        "backup": {
            expiration: {
            "ttl_days": TTL_DAYS,
            }
         },
}

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

更新到期时间

使用此示例为 Cloud SQL 删除备份的时间提供更新的日期和时间戳。如需查看此调用的完整参数列表,请参阅 backupRuns.update 页面。

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_ID:项目 ID。
  • BACKUP_ID:备份 ID。您可以从运行上一个调用的输出中获取此 ID。
  • DATE_AND_TIME_STAMP:Cloud SQL 自动删除最终备份的时间戳。

HTTP 方法和网址:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups/BACKUP_ID?update_mask=expiry_time

请求 JSON 正文:

{
        "backup": {
            expiration: {
            "expiry_time": DATE_AND_TIME_STAMP,
            }
         },
}

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

更新说明

使用此示例更新最终备份的说明。如需查看此调用的完整参数列表,请参阅 backupRuns.update 页面。

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_ID:项目 ID。
  • BACKUP_ID:备份 ID。您可以从运行上一个调用的输出中获取此 ID。
  • DESCRIPTION:最终备份的更新说明。

HTTP 方法和网址:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups/BACKUP_ID?update_mask=description

请求 JSON 正文:

{
        "backup": {
            "description": DESCRIPTION,
         },
}

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

删除最终备份

您可以使用 Google Cloud 控制台、gcloud CLI 或 Cloud SQL API 删除最终备份。

删除某个备份可能并不会释放与该备份大小相同的空间。 因为这是增量式备份,删除较旧的备份也许会将其中的部分内容转移到较新的备份中,从而使较新备份保持完整性。

控制台

  1. 在 Google Cloud 控制台中,前往 Cloud SQL 备份页面。

    前往 Cloud SQL 备份

    本页面列出了与 Google Cloud 项目关联的所有备份,包括最终备份。

  2. 对于要删除的最终备份,请点击“更多操作”图标 “更多操作”图标。,然后选择删除
  3. 删除最终备份?窗口中,输入您用于创建最终备份的实例的名称,然后点击删除

gcloud

  1. 如需获取与 Google Cloud 项目关联的所有最终备份的列表,请使用 gcloud sql backups list 命令:

    gcloud sql backups list \
    --filter="type=FINAL"
  2. 如需删除最终备份,请使用 gcloud sql backups delete 命令:

    gcloud sql backups delete \
    BACKUP_NAME

    您可以从运行 gcloud sql backups list 命令的输出中获取 BACKUP_NAMEBACKUP_NAME 采用以下格式:projects/PROJECT_ID/backups/BACKUP_ID

REST v1

获取最终备份列表

使用此示例可获取与 Google Cloud 项目关联的所有最终备份的列表。如需查看此调用的完整参数列表,请参阅 backupRuns.list 页面。

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_ID:项目 ID
  • INSTANCE_ID:实例 ID

HTTP 方法和网址:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups?filter=type=FINAL

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

删除最终备份

使用此示例删除最终备份。如需查看此调用的完整参数列表,请参阅 backupRuns.delete 页面。

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_ID:项目 ID。
  • BACKUP_ID:备份 ID。您可以从运行上一个调用的输出中获取此 ID。

HTTP 方法和网址:

DELETE https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups/BACKUP_ID

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

REST v1beta4

获取最终备份列表

使用此示例可获取与 Google Cloud 项目关联的所有最终备份的列表。如需查看此调用的完整参数列表,请参阅 backupRuns.list 页面。

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_ID:项目 ID
  • INSTANCE_ID:实例 ID

HTTP 方法和网址:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups?filter=type=FINAL

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

删除最终备份

使用此示例删除最终备份。如需查看此调用的完整参数列表,请参阅 backupRuns.delete 页面。

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_ID:项目 ID。
  • BACKUP_ID:备份 ID。您可以从运行上一个调用的输出中获取此 ID。

HTTP 方法和网址:

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

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

后续步骤