管理标准备份

本页介绍了如何管理使用标准备份选项的实例的备份。其中包括如何安排和停用自动备份、创建和管理按需备份,以及查看 Cloud SQL 实例的备份。如果您的实例使用增强型备份,请参阅管理增强型备份

如需详细了解备份的工作原理,请参阅 Cloud SQL 备份概览。如需详细了解适用于 Cloud SQL 实例的备份选项,请参阅选择备份选项

创建按需备份

如需创建按需备份,请执行以下操作:

控制台

  1. 在 Cloud de Confiance 控制台中,前往 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 如需打开实例的概览页面,请点击实例名称。
  3. 从 SQL 导航菜单中选择备份
  4. 点击创建备份
  5. 创建备份页面上,根据需要添加说明,然后点击创建

gcloud

创建备份:

gcloud sql backups create \
--async \
--instance=INSTANCE_NAME

您可以使用 --description 参数提供备份的说明。

要在自定义位置创建备份,请执行以下操作:

gcloud sql backups create \
--async \
--instance=INSTANCE_NAME \
--location=BACKUP_LOCATION

REST v1

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

  • project-id:项目 ID
  • instance-id:实例 ID

HTTP 方法和网址:

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

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

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

REST v1beta4

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

  • project-id:项目 ID
  • instance-id:实例 ID

HTTP 方法和网址:

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

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

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

配置自动备份

在实例运行时,系统会按照预定的频率进行自动备份。您还可以设置自动备份的保留期限。 如需详细了解自动备份的运作方式,请参阅自动备份

安排自动备份

如需为实例安排自动备份,请按如下所述操作:

控制台

  1. 在 Cloud de Confiance 控制台中,前往 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 如需打开实例的概览页面,请点击实例名称。
  3. 从 SQL 导航菜单中选择备份
  4. 点击设置旁边的修改
  5. 选择要自动备份的数据的时间范围。
  6. 点击保存

gcloud

  1. 修改实例以指定备份开始时间:
    gcloud sql instances patch INSTANCE_NAME --backup-start-time=HH:MM
    backup-start-time 参数采用 UTC±00 时区的 24 小时时间格式,用于指定一个 4 小时备份时段的开始时间。备份可在该时段内随时启动。
  2. 确认所做的更改:
    gcloud sql instances describe INSTANCE_NAME
    backupConfiguration 部分中,确认您可以看到 enabled: true 和您指定的时间。

Terraform

如需为数据库创建备份,请使用 Terraform 资源

resource "google_sql_database_instance" "instance" {
  name             = "postgres-instance-backup"
  region           = "us-central1"
  database_version = "POSTGRES_14"
  settings {
    tier = "db-custom-2-7680"
    backup_configuration {
      enabled    = true
      start_time = "20:55"
    }
  }
  # set `deletion_protection` to true, will ensure that one cannot accidentally delete this instance by
  # use of Terraform whereas `deletion_protection_enabled` flag protects this instance at the GCP level.
  deletion_protection = false
}

应用更改

如需在 Cloud de Confiance 项目中应用 Terraform 配置,请完成以下部分中的步骤。

准备 Cloud Shell

  1. 启动 Cloud Shell
  2. 设置要应用 Terraform 配置的默认 Cloud de Confiance 项目。

    您只需为每个项目运行一次以下命令,即可在任何目录中运行它。

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    如果您在 Terraform 配置文件中设置显式值,则环境变量会被替换。

准备目录

每个 Terraform 配置文件都必须有自己的目录(也称为“根模块”)。

  1. Cloud Shell 中,创建一个目录,并在该目录中创建一个新文件。文件名必须具有 .tf 扩展名,例如 main.tf。在本教程中,该文件称为 main.tf
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. 如果您按照教程进行操作,可以在每个部分或步骤中复制示例代码。

    将示例代码复制到新创建的 main.tf 中。

    (可选)从 GitHub 中复制代码。如果端到端解决方案包含 Terraform 代码段,则建议这样做。

  3. 查看和修改要应用到您的环境的示例参数。
  4. 保存更改。
  5. 初始化 Terraform。您只需为每个目录执行一次此操作。
    terraform init

    (可选)如需使用最新的 Google 提供程序版本,请添加 -upgrade 选项:

    terraform init -upgrade

应用更改

  1. 查看配置并验证 Terraform 将创建或更新的资源是否符合您的预期:
    terraform plan

    根据需要更正配置。

  2. 通过运行以下命令并在提示符处输入 yes 来应用 Terraform 配置:
    terraform apply

    等待 Terraform 显示“应用完成!”消息。

  3. 打开您的 Cloud de Confiance 项目以查看结果。在 Cloud de Confiance 控制台的界面中找到资源,以确保 Terraform 已创建或更新它们。

删除更改

如需删除更改,请执行以下操作:

  1. 如需停用防删除保护,请在 Terraform 配置文件中将 deletion_protection 参数设置为 false
    deletion_protection =  "false"
  2. 运行以下命令并在提示符处输入 yes,以应用更新后的 Terraform 配置:
    terraform apply
  1. 运行以下命令并在提示符处输入 yes,以移除之前使用 Terraform 配置应用的资源:

    terraform destroy

REST v1

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

  • PROJECT_ID:包含实例的 Cloud de Confiance 项目的 ID 或项目编号
  • INSTANCE_NAME:您为实现高可用性而配置的主实例或读取副本实例的名称
  • START_TIME:时间(以小时和分钟为单位)

HTTP 方法和网址:

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

请求 JSON 正文:

{
  "settings":
  {
    "backupConfiguration":
    {
      "startTime": "START_TIME",
      "enabled": true,
      "binaryLogEnabled": true
    }
  }
}

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

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

REST v1beta4

您可以同时启用 pointInTimeRecovery,方法是将 backupConfiguration 对象中的 pointInTimeRecoveryEnabled 设置为 true

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

  • PROJECT_ID:包含实例的 Cloud de Confiance 项目的 ID 或项目编号
  • INSTANCE_NAME:您为实现高可用性而配置的主实例或读取副本实例的名称
  • START_TIME:时间(以小时和分钟为单位)

HTTP 方法和网址:

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

请求 JSON 正文:

{
  "settings":
  {
    "backupConfiguration":
    {
      "startTime": "START_TIME",
      "enabled": true,
      "pointInTimeRecoveryEnabled": true
    }
  }
}

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

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

设置自动备份保留

如需设置要保留的自动备份的数量,请按如下所述操作:

控制台

  1. 在 Cloud de Confiance 控制台中,前往 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 如需打开实例的概览页面,请点击实例名称。
  3. 从 SQL 导航菜单中选择备份
  4. 点击修改
  5. 自动备份部分中,展开高级选项
  6. 输入一次要存储的备份数量
  7. 点击保存

gcloud

修改实例以设置要保留的自动备份数。 该数字不能小于默认值(七)。

gcloud sql instances patch INSTANCE_NAME \
--retained-backups-count=NUM_TO_RETAIN

Terraform

如需指定要为数据库实例保留的自动备份的数量,请使用 Terraform 资源

resource "google_sql_database_instance" "default" {
  name             = "postgres-instance-backup-retention"
  region           = "us-central1"
  database_version = "POSTGRES_14"
  settings {
    tier = "db-custom-2-7680"
    backup_configuration {
      enabled = true
      backup_retention_settings {
        retained_backups = 365
        retention_unit   = "COUNT"
      }
    }
  }
}

REST v1beta4

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

  • unit:可选:保留单位可以是整数或字符串。目前支持的(默认)值为 1 或“COUNT”。
  • num-to-retain:要保留的自动备份的数量(1 到 365)
  • project-id:项目 ID
  • instance-id:实例 ID

HTTP 方法和网址:

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

请求 JSON 正文:

{
  "settings":
  {
    "backupConfiguration":
    {
      "backupRetentionSettings":
      {
        "retentionUnit": unit,
        "retainedBackups": "num-to-retain"
      }
    }
  }
}

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

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

停用自动备份

如需为实例停用自动备份,请按如下所述操作:

控制台

  1. 在 Cloud de Confiance 控制台中,前往 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 如需打开实例的概览页面,请点击实例名称。
  3. 从 SQL 导航菜单中选择备份
  4. 点击管理自动备份
  5. 清除自动备份
  6. 点击保存

gcloud

修改实例以停用备份:

gcloud sql instances patch INSTANCE_NAME \
--no-backup

REST v1

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

  • project-id:项目 ID
  • instance-id:实例 ID

HTTP 方法和网址:

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

请求 JSON 正文:

{
  "settings":
  {
    "backupConfiguration":
    {
      "enabled": false
    }
  }
}

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

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

REST v1beta4

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

  • project-id:项目 ID
  • instance-id:实例 ID

HTTP 方法和网址:

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

请求 JSON 正文:

{
  "settings":
  {
    "backupConfiguration":
    {
      "enabled": false,
      "pointInTimeRecoveryEnabled": false
    }
  }
}

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

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

删除备份

您可以删除自动备份和按需备份。

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

控制台

  1. 在 Cloud de Confiance 控制台中,前往 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 如需打开实例的概览页面,请点击实例名称。
  3. 从 SQL 导航菜单中选择备份
  4. 点击要删除的备份对应的“更多操作”图标 “更多操作”图标。
  5. 选择删除
  6. 在“删除备份”窗口的字段中输入 Delete,然后点击删除

gcloud

删除 Cloud SQL 实例的备份:

gcloud beta sql backups delete BACKUP_ID \
--instance INSTANCE_NAME
      

如需查看完整的参数列表,请参阅 gcloud beta sql backups delete 命令参考页面。

REST v1

  1. 列出备份以获取待删除备份的 ID:

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

    • project-id:项目 ID
    • instance-id:实例 ID

    HTTP 方法和网址:

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

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

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

  2. 删除备份:

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

    • project-id:项目 ID
    • instance-id:实例 ID
    • backup-id:备份 ID

    HTTP 方法和网址:

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

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

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

REST v1beta4

  1. 列出备份以获取待删除备份的 ID:

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

    • project-id:项目 ID
    • instance-id:实例 ID

    HTTP 方法和网址:

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

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

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

  2. 删除备份:

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

    • project-id:项目 ID
    • instance-id:实例 ID
    • backup-id:备份 ID

    HTTP 方法和网址:

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

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

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

为备份设置自定义位置

只有在法规要求时,才使用自定义备份位置。如果不要求,请使用默认的多区域备份位置。

您可以将自定义位置用于按需备份和自动备份。如需查看有效位置值的完整列表,请参阅实例位置

如需使用自定义位置更新实例,请执行以下操作:

控制台

  1. 在 Cloud de Confiance 控制台中,前往 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 如需打开实例的概览页面,请点击实例名称。
  3. 从 SQL 导航菜单中选择备份
  4. 点击设置旁边的修改
  5. 自动备份部分中,展开高级选项
  6. 点击多区域(默认)单区域
  7. 位置下拉菜单中选择相应位置。
  8. 点击保存

gcloud

如需了解参考信息,请参阅 gcloud sql instances patch

gcloud sql instances patch INSTANCE_NAME \
--backup-location=BACKUP_LOCATION
  

Terraform

如需为数据库实例备份指定自定义位置,请使用 Terraform 资源

resource "google_sql_database_instance" "default" {
  name             = "postgres-instance-with-backup-location"
  region           = "us-central1"
  database_version = "POSTGRES_14"
  settings {
    tier = "db-custom-2-7680"
    backup_configuration {
      enabled  = true
      location = "us-central1"
    }
  }
}

REST v1

使用实例的 settings.backupConfiguration.location 参数作为备份位置。

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

  • region:项目区域
  • backup-region:备份区域
  • project-id:项目 ID
  • instance-id:实例 ID

HTTP 方法和网址:

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

请求 JSON 正文:

{
  "region": "region"
  "settings":
  {
    "backupConfiguration":
    {
      "location": "backup-region",
      "enabled": true,
    }
  }
}

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

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

REST v1beta4

使用实例的 settings.backupConfiguration.location 参数作为备份位置。

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

  • region:项目区域
  • backup-region:备份区域
  • project-id:项目 ID
  • instance-id:实例 ID

HTTP 方法和网址:

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

请求 JSON 正文:

{
  "region": "region"
  "settings":
  {
    "backupConfiguration":
    {
      "location": "backup-region",
      "enabled": true,
    }
  }
}

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

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

查看备份列表

如需查看备份列表以及备份详情,请使用以下选项。

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

控制台

  1. 在 Cloud de Confiance 控制台中,前往 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 如需打开实例的概览页面,请点击实例名称。
  3. 从 SQL 导航菜单中选择备份,查看最近的备份、备份创建时间和备份类型。

gcloud

  • 列出实例的备份:
    gcloud sql backups list \
    --instance INSTANCE_NAME

    您可以使用标准列表参数过滤和控制结果。 如需查看完整列表,请参阅 gcloud sql backups list 命令参考页面。

  • 通过从 backups list 命令的输出中指定备份 ID 来查看备份的详细信息。
    gcloud sql backups describe BACKUP_ID \
    --instance INSTANCE_NAME
        

REST v1

您还可以使用 BackupRuns:list 页面上的 API Explorer 发送 REST API 请求。

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

  • project-id:项目 ID
  • instance-id:实例 ID

HTTP 方法和网址:

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

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

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

REST v1beta4

您还可以使用 BackupRuns:list 页面上的 API Explorer 发送 REST API 请求。

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

  • project-id:项目 ID
  • instance-id:实例 ID

HTTP 方法和网址:

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

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

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

在服务中断期间查看备份列表

如果某个实例位于发生服务中断的区域中,则您只能将通配符 (-) 与 backupRuns.list API 结合使用来查看该实例的备份。该通配符会返回项目中的所有备份。请参阅恢复到其他实例

如果某个区域中的一个实例启用了客户管理的加密密钥 (CMEK),则在该区域发生服务中断时,您无法将该实例的备份恢复到其他区域。这是因为在实例上启用 CMEK 后,Cloud SQL 会使用区域 Cloud KMS 密钥进行加密。若要恢复一个 CMEK 实例的备份,Cloud SQL 必须有权访问 CMEK 密钥。在发生区域性服务中断时,无法访问相应区域中的 Cloud KMS 密钥。

gcloud

  1. 列出项目中每个实例的备份:
    gcloud sql backups list --instance -

    该命令会返回类似于以下的信息:

    {
          "kind": "sql#backupRun",
          "status": "SUCCESSFUL",
          "enqueuedTime": "2020-01-21T11:25:33.818Z",
          "id": "backup-id",
          "startTime": "2020-01-21T11:25:33.858Z",
          "endTime": "2020-01-21T11:26:18.663Z",
          "type": "AUTOMATED",
          "windowStartTime": "2020-01-21T10:00:00.479Z",
          "instance": "instance-id",
          "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/backupRuns/backup-id",
          "location": "us"
          "backupKind": "SNAPSHOT"
        }
  2. 找到所需实例的备份。如需恢复此备份,请参阅恢复到其他实例

REST v1

  1. 列出项目中的所有备份:

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

    • PROJECT_ID:项目 ID
    • INSTANCE_ID:实例 ID,或 -(对于项目中所有备份的列表)

    HTTP 方法和网址:

    GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/-/backupRuns

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

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

  2. 找到所需实例的备份。如需恢复此备份,请参阅恢复到其他实例

REST v1beta4

  1. 列出项目中的所有备份:

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

    • project-id:项目 ID
    • instance-id:实例 ID,或 -(对于项目中所有备份的列表)

    HTTP 方法和网址:

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

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

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

  2. 找到所需实例的备份。如需恢复此备份,请参阅恢复到其他实例

查看备份位置

如需查看实例备份的位置,请使用 backupRuns

控制台

  1. 在 Cloud de Confiance 控制台中,前往 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 如需打开实例的概览页面,请点击实例名称。
  3. 从 SQL 导航菜单中选择备份
  4. 在备份列表中,位置列列出了位置类型(多区域或单区域)以及每个备份所在的具体多区域或单区域。

gcloud

如需了解参考信息,请参阅 gcloud sql instances describe

  1. 列出实例的备份:
    gcloud sql backups list \
    --instance INSTANCE_NAME

    您可以使用标准列表参数过滤和控制结果。 如需查看完整列表,请参阅 gcloud sql backups list 命令参考页面。

  2. 如需列出一个备份的详情,请使用 backups list 命令输出中的 ID
    gcloud sql backups describe BACKUP_ID \
    --instance INSTANCE_NAME

REST v1

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

  • project-id:项目 ID
  • instance-id:实例 ID

HTTP 方法和网址:

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

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

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

在前面的示例中:
  • REGION 是原始实例所在的区域。
  • BACKUP_LOCATION 是您希望 Cloud SQL 存储备份的位置。

REST v1beta4

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

  • project-id:项目 ID
  • instance-id:实例 ID

HTTP 方法和网址:

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

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

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

在前面的示例中:
  • REGION 是原始实例所在的区域。
  • BACKUP_LOCATION 是您希望 Cloud SQL 存储备份的位置。

查看备份大小

您可以使用 gcloud CLI 或 API 查看 Cloud SQL 实例的备份大小。

gcloud

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

    gcloud sql backups list
  2. 如需查看备份的大小,请使用 gcloud sql backups describe 命令:

    gcloud sql backups describe BACKUP_ID \
    --instance=INSTANCE_NAME \
    --project=PROJECT_ID

    进行以下替换:

    • BACKUP_ID:备份的 ID。您可以从运行 gcloud sql backups list 命令的输出中获取此 ID。
    • INSTANCE_NAME:实例的名称。
    • PROJECT_ID:包含实例的 Cloud de Confiance 项目的 ID 或项目编号

    在输出中,maxChargeableBytes 参数会显示备份的大小(以字节为单位)。

REST

获取备份列表

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

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

  • PROJECT_ID:包含实例的 Cloud de Confiance 项目的 ID 或项目编号
  • INSTANCE_NAME:实例的名称

HTTP 方法和网址:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME/backupRuns

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

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

查看备份的详细信息

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

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

  • PROJECT_ID:包含实例的 Cloud de Confiance 项目的 ID 或项目编号
  • INSTANCE_NAME:实例的名称。
  • BACKUP_ID:备份 ID。您可以从运行上一个调用的输出中获取此 ID。

HTTP 方法和网址:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME/backupRuns/BACKUP_ID

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

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

配置最终备份

您可以通过启用最终备份实例设置并设置最终备份保留期限,将实例设置为自动进行备份。如果您未在删除实例之前为其启用最终备份,也可以在删除实例时进行最终备份。如需详细了解最终备份的运作方式,请参阅最终备份

如需在实例删除后管理最终备份,请参阅管理已删除实例的备份

启用最终备份

如需为实例启用最终备份,请执行以下操作:

控制台

  1. 在 Cloud de Confiance 控制台中,前往 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 找到要为其启用最终备份的实例。如需打开实例的概览页面,请点击实例的名称。

  3. 点击修改

  4. 自定义实例下,展开数据保护

  5. 如需启用最终备份,请在实例删除保护下勾选删除实例时创建最终备份对应的复选框。

    默认保留期限为 30 天。如需更改此设置,请在保留天数框中输入介于 1 到 365 之间的数字。

  6. 点击保存

gcloud

使用 gcloud sql instances 命令启用最终备份。

  gcloud sql instances patch INSTANCE_NAME \
  --final-backup \
  --final-backup-retention-days=RETENTION_DAYS

替换以下内容:

  • INSTANCE_NAME:Cloud SQL 实例的名称。
  • RETENTION_DAYS:保留最终备份的天数。此值可介于 1 到 365 天之间,默认值为 30 天。

REST v1

如需启用最终备份,请执行以下操作:

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

  • PROJECT_ID:项目 ID
  • INSTANCE_ID:实例 ID
  • RETENTION_DAYS:保留最终备份的天数

HTTP 方法和网址:

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

请求 JSON 正文:

{
  "settings": {
    "FinalBackupConfig": {
      "enabled": true,
      "retentionDays: RETENTION_DAYS
    }
  }
}

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

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

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/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/sql/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

REST v1beta

如需启用最终备份,请执行以下操作:

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

  • PROJECT_ID:项目 ID
  • INSTANCE_ID:实例 ID
  • RETENTION_DAYS:保留最终备份的天数

HTTP 方法和网址:

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

请求 JSON 正文:

{
  "settings": {
    "FinalBackupConfig": {
      "enabled": true,
      "retentionDays: RETENTION_DAYS
    }
  }
}

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

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

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/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/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

设置最终备份保留期限

如需为实例设置最终备份保留期限,请执行以下操作:

控制台

  1. 在 Cloud de Confiance 控制台中,前往 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 找到要为其启用最终备份的实例。如需打开实例的概览页面,请点击实例的名称。

  3. 点击修改

  4. 自定义实例下,展开数据保护

  5. 如需更改最终备份保留期限,请在实例删除后的最终备份设置下的保留天数框中输入介于 1 到 365 之间的数字。

    默认保留期限为 30 天。

  6. 点击保存

gcloud

使用 gcloud sql instances 命令更新最终备份保留天数设置。

  gcloud sql instances patch INSTANCE_NAME \
  --final-backup-retention-days=RETENTION_DAYS

替换以下内容:

  • INSTANCE_NAME:Cloud SQL 实例的名称。
  • RETENTION_DAYS:保留最终备份的天数。此值可介于 1 到 365 天之间,默认值为 30 天。

REST v1

如需更新最终备份保留天数设置,请执行以下操作:

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

  • PROJECT_ID:项目 ID
  • INSTANCE_ID:实例 ID
  • RETENTION_DAYS:保留最终备份的天数

HTTP 方法和网址:

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

请求 JSON 正文:

{
  "settings": {
    "FinalBackupConfig": {
      "retentionDays: RETENTION_DAYS
    }
  }
}

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

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

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/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/sql/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

REST v1beta

如需更新最终备份保留天数设置,请执行以下操作:

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

  • PROJECT_ID:项目 ID
  • INSTANCE_ID:实例 ID
  • RETENTION_DAYS:保留最终备份的天数

HTTP 方法和网址:

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

请求 JSON 正文:

{
  "settings": {
    "FinalBackupConfig": {
      "retentionDays: RETENTION_DAYS
    }
  }
}

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

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

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/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/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

停用最终备份

如需为实例停用最终备份,请执行以下操作:

控制台

  1. 在 Cloud de Confiance 控制台中,前往 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 找到要为其启用最终备份的实例。如需打开实例的概览页面,请点击实例的名称。

  3. 点击修改

  4. 自定义实例下,展开数据保护

  5. 如需停用最终备份,请在实例删除保护下,取消选中删除实例时创建最终备份对应的复选框。

  6. 点击保存

gcloud

使用 gcloud sql instances 命令可停用最终备份。

  gcloud sql instances patch INSTANCE_NAME \
  --no-final-backup

替换以下内容:

  • INSTANCE_NAME:Cloud SQL 实例的名称。

REST v1

如需停用最终备份,请执行以下操作:

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

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

HTTP 方法和网址:

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

请求 JSON 正文:

{
  "settings": {
    "FinalBackupConfig": {
      "enabled": false
    }
  }
}

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

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

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/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/sql/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

REST v1beta

如需停用最终备份,请执行以下操作:

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

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

HTTP 方法和网址:

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

请求 JSON 正文:

{
  "settings": {
    "FinalBackupConfig": {
      "enabled": false
    }
  }s
}

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

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

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/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/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

配置保留的备份

您可以将实例设置为在删除实例时自动保留所有自动备份和按需备份。这些备份的保留期限取决于删除时备份的保留期限。如需详细了解最终备份的运作方式,请参阅最终备份

如需在实例删除后管理保留的备份,请参阅管理已删除实例的备份

启用保留的备份

如需为实例启用保留的备份,请执行以下操作:

控制台

  1. 在 Cloud de Confiance 控制台中,前往 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 找到要为其启用保留的备份的实例。如需打开实例的概览页面,请点击实例的名称。

  3. 点击修改

  4. 自定义实例下,展开数据保护

  5. 如需启用保留的备份,请在实例删除保护下,选中在删除实例后保留备份对应的复选框。

  6. 点击保存

gcloud

使用 gcloud sql instances 命令启用保留的备份。

  gcloud sql instances patch INSTANCE_NAME \
  --retain-backups-on-delete

替换以下内容:

  • INSTANCE_NAME:Cloud SQL 实例的名称。

REST v1

如需启用保留备份,请执行以下操作:

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

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

HTTP 方法和网址:

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

请求 JSON 正文:

{
  "settings": {
    "retainBackupsOnDelete": true
    }
  }

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

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

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/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/sql/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

REST v1beta

如需启用保留备份,请执行以下操作:

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

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

HTTP 方法和网址:

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

请求 JSON 正文:

{
  "settings": {
    "retainBackupsOnDelete": true
    }
  }

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

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

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/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/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

停用保留的备份

如需为实例停用保留的备份,请执行以下操作:

控制台

  1. 在 Cloud de Confiance 控制台中,前往 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 找到要为其启用保留的备份的实例。如需打开实例的概览页面,请点击实例的名称。

  3. 点击修改

  4. 自定义实例下,展开数据保护

  5. 如需停用保留的备份,请在实例删除防护下,取消选中在删除实例后保留备份对应的复选框。

  6. 点击保存

gcloud

使用 gcloud sql instances 命令停用保留的备份。

  gcloud sql instances patch INSTANCE_NAME \
  --no-retain-backups-on-delete

替换以下内容:

  • INSTANCE_NAME:Cloud SQL 实例的名称。

REST v1

如需停用保留备份,请执行以下操作:

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

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

HTTP 方法和网址:

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

请求 JSON 正文:

{
  "settings": {
    "retainBackupsOnDelete": false
    }
  }

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

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

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/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/sql/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

REST v1beta

如需停用保留备份,请执行以下操作:

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

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

HTTP 方法和网址:

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

请求 JSON 正文:

{
  "settings": {
    "retainBackupsOnDelete": true
    }
  }

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

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

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/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/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

后续步骤