Cloud SQL 备份概览

Cloud SQL 允许您按需备份实例,也可以使用备份时间表自动备份实例。可用于实例的备份配置取决于实例的备份选项。Cloud SQL 备份是增量备份,可帮助您将丢失的数据恢复到 Cloud SQL 实例。备份也会默认使用 Google 管理的加密密钥或客户管理的加密密钥 (CMEK) 进行加密。借助备份,您可以:

  • 如果您的实例遇到问题,请将其恢复到之前的状态。
  • 通过使用不同区域或可用区中的备份创建新实例,来设置灾难恢复 (DR)。
  • 使用备份创建多个实例,以帮助进行开发、测试和迁移。

您可以通过定义实例的备份保留设置来保留这些备份。 保留设置可能因实例的 Cloud SQL 版本备份选项而异。此外,您还可以在删除实例后保留备份,以便在删除后恢复实例。

备份选项

Cloud SQL 提供两种备份服务选项来管理实例的备份:

  • 增强型备份:备份在利用 Backup and DR Service 的集中式备份管理项目中进行管理和存储,并提供强制保留、精细调度和监控功能。
  • 标准备份:备份与您的 Cloud SQL 实例在同一个项目中创建、管理和存储。这是现有的 Cloud SQL 备份服务,现在称为标准备份。

您必须为每个实例选择备份选项。如需详细了解每种备份选项及其功能,请参阅选择备份选项

备份请求类型

您可以为 Cloud SQL 实例执行按需备份、自动备份或最终备份。这些备份的可用配置取决于实例所选的备份选项

按需备份

按需备份是指可以随时创建的备份。 如果您要对数据库执行有风险的操作,或者您需要备份但不想等到备份时段再执行,则按需备份非常有用。您可以为任何实例创建按需备份,无论实例是否启用了自动备份。

自动备份

自动备份会在实例运行时按预定频率(例如每小时、每天、每周或每月)进行。安排的频率取决于您为实例选择的备份选项,以及您在所选备份选项的备份配置中定义的频率。备份会在备份时段内启动。

实例停止后,系统会再执行一次自动备份,以保护实例停止前的所有更改。自动备份保留取决于您为实例选择的备份选项中配置的保留政策。建议您尽可能将备份安排在实例活动较少的时候。

另外,建议您不要手动删除任何自动备份,因为支持时间点恢复需要它们。

如需配置实例的自动备份,请参阅配置自动备份

最终备份

最终备份可让您在删除 Cloud SQL 实例之前对其进行备份。这样,您就可以在删除实例后保留实例数据。您可以使用最终备份来创建新实例,也可以将其恢复到现有实例。如需详细了解如何访问和查看最终备份的详细信息,请参阅查看最终备份列表

您可以通过为实例启用最终备份实例设置,将实例设置为在删除实例时自动进行最终备份。您还可以在为实例启用最终备份时设置最终备份保留期限。如果您未为实例启用最终备份,也可以在删除实例时进行最终备份。 最终备份仅适用于主实例,不支持副本实例。您还可以设置 Cloud SQL 自定义组织政策,以便在删除组织中的所有实例时进行最终备份,并设置标准保留期限。如需了解详情,请参阅常见用例的自定义组织政策示例

默认情况下,Cloud SQL 会将最终备份保留 30 天。 不过,您可以自定义 Cloud SQL 保留备份的时间长度。 对于标准备份,此期限介于 1 天到 365 天之间;对于增强型备份,此期限介于 1 天到 99 年之间。 然后,您可以从备份恢复实例,只要备份可用即可。最终备份的收费方式与其他备份类似,按保留天数收费。

如需详细了解如何使用标准备份选项为新实例或现有实例启用最终备份,请参阅配置最终备份。 对于增强型备份,最终备份由关联的备份方案管理。

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

备份保留

备份保留期限由备份请求类型以及您为实例选择的备份选项决定。对于自动备份,保留期限可以从 7 天到 99 年不等,具体取决于实例的备份选项。对于按需备份,备份会无限期存储,直到被删除为止。如需详细了解与实例备份选项相关的备份保留期限,请参阅选择备份选项

在删除实例后保留备份

保留的备份是指在实例删除后由 Cloud SQL 保留的备份。这些备份包括实例处于有效状态时创建的按需备份和自动备份。删除实例后,这些备份将独立于您的实例,并存储在项目级。保留的备份不同于最终备份,后者是在删除实例时进行的最后一次备份。

您可以更新这些备份的说明,以便更轻松地在 Google Cloud 项目中进行管理。您可以随时将保留的备份恢复到新的或现有的 Cloud SQL 实例

对于这些备份,保留期限由备份类型决定,并且在实例删除后无法更改。对于标准备份,按需备份会无限期保留,直到手动删除备份或删除包含备份的项目为止。对于增强型备份,按需备份会根据所选的保留规则进行保留。 实例删除后,自动备份将以滚动方式删除,每天删除一个备份。滚动式时间段是根据删除前实例的保留设置定义的,具体时长从 1 天到 99 年不等,取决于实例所选的备份选项。例如,如果实例的自动备份保留设置设为 7,则最新的自动备份会在实例删除 7 天后被删除。

您可以随时手动删除保留的备份。不过,如果您删除保留的备份,则无法恢复已删除的备份。

对于标准备份,由于在 Cloud SQL 中删除实例后仍可使用实例名称,因此保留的备份将存储在您的Google Cloud 项目中,并带有一个名为 instance_deletion_time 的字段。借助此字段,您可以确定特定备份是属于有效实例还是已删除实例。您还可以更新备份的说明,以便更轻松地管理备份。

如需详细了解如何使用标准备份选项为新实例或现有实例启用保留的备份,请参阅配置保留的备份。 对于增强型备份,保留的备份由关联的备份方案管理。

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

恢复备份

如果自动备份政策没有提供良好的备份,Cloud SQL 还会尝试保留每个活跃实例的至少一个最新每日备份。您可以通过联系 Google Cloud Customer Care 来使用此备份进行恢复。

备份和数据完整性检查

Cloud SQL 会自动在后台执行数据库完整性检查,以识别任何潜在的数据完整性问题。完整性检查是通过恢复客户启动的备份恢复备份的采样以离线过程完成的。

副本的备份

备份不适用于副本实例。由于副本实例是主实例的副本,因此备份会与主实例一起维护。如果副本实例因故障切换或切换而被提升为独立实例,则该实例会启用备份功能,并且需要自己的备份配置。提升后的副本不会继承主实例的备份配置,也无法访问主实例的备份。

备份与导出

备份由 Cloud SQL 根据保留政策进行管理,并与 Cloud SQL 实例分开存储。Cloud SQL 备份与导出的数据不同,后者会上传到 Cloud Storage,您可以在其中管理其生命周期。备份包含实例的整个磁盘。对于导出操作,您可以选择特定的内容。

备份和恢复操作不能用于将数据库升级到更高版本。您只能从备份恢复到与备份时具有相同数据库版本的实例。

如需升级到更高版本,您可以导出数据库,然后导入到新的 Cloud SQL 实例。

备份大小

除第一次备份外,所有 Cloud SQL 备份都是增量备份。这些备份仅包含自上次备份以来发生了更改的数据。最早备份的大小与数据库大小相似,但后续备份的大小取决于数据的更改速率。删除最早的备份后,下一个最早备份的大小将会增加,成为完整备份,并进行调整以捕获备份之间的差异。后续的每个增量备份也会更新为与新的完整备份一致。

您可以查看单个备份的大小。备份大小表示每个备份的计费大小。

问题排查

问题 问题排查
您无法查看当前操作的状态。 Google Cloud 控制台仅在操作完成后报告成功或失败,而不会显示警告或其他更新。

运行 gcloud sql operations list 命令以列出给定 Cloud SQL 实例的所有操作。

您想要了解发起按需备份操作的人员。 界面未显示开始操作的用户。

查看日志并按文本进行过滤以查找用户。您可能需要对私密信息使用审核日志。相关日志文件包括:

  • cloudsql.googleapis.com/sqlagent.out
  • cloudsql.googleapis.com/sqlserver.err
  • 如果启用了 Cloud Audit Logs,并且您具有查看这些日志的必要权限,那么 cloudaudit.googleapis.com/activity 也可以使用。
实例被删除后,您将无法再备份该实例。

如果您删除实例而没有对数据进行最终备份,则无法恢复数据。但是,如果您恢复实例,Cloud SQL 也会恢复备份。如需详细了解如何恢复已删除的实例,请参阅在删除实例后保留备份

如果您已完成导出操作,请创建新实例,然后执行导入操作以重新创建数据库。导出数据将写入 Cloud Storage,导入数据从此处进行读取。

自动备份停滞了数小时,无法取消。 备份可能需要很长时间,具体取决于数据库大小。

如果您确实需要取消该操作,可以要求客户服务对实例执行 force restart

如果 SQL 转储文件中引用的一个或多个用户不存在,恢复操作可能会失败。 在恢复 SQL 转储之前,拥有对象或获得了对转储数据库中的对象权限的所有数据库用户都必须存在于目标数据库中。否则,恢复操作将无法使用原始所有权或权限重新创建对象。

在恢复 SQL 转储之前,先创建数据库用户

您想要将自动备份的天数从 7 天增加到 30 天,或更长时间。 您可以配置要保留的自动备份的数量,但保留的数量不能少于默认值(七个)。系统会根据配置的保留期限值定期删除自动备份。遗憾的是,这也意味着当前可见的备份是所有可以用于恢复的自动备份。

如需无限期地保留备份,您可以创建按需备份,因为它们的删除方式与自动备份不同。按需备份会无限期保留。也就是说,按需备份会一直保留,直到被删除或它们所属的实例被删除为止。由于该类型的备份不会自动删除,因此可能会影响结算。

自动备份失败,但您未收到电子邮件通知。 如需让 Cloud SQL 通知您备份的状态,请配置基于日志的提醒
您无法使用 Transact-SQL RESTORE 命令SQL Server Management Studio (SSMS) 恢复实例。 Cloud SQL 不支持通过 SSMS 恢复实例。如需恢复实例,请运行 gcloud sql import 命令。
如果您选择在删除实例时进行最终备份,则无法删除实例。 删除实例时,您需要确认是否要在删除实例之前对实例进行最终备份。如果您使用 final-backup 实例设置启用了最终备份,那么在删除实例时所做的选择必须与您为实例启用最终备份时设置的最终备份实例配置相匹配。如需缓解此问题,请执行以下其中一项操作:
  • 将最终备份值设置为与实例的现有备份配置一致。
  • 删除实例时,将“最终备份”字段留空。如果您将此字段留空,Cloud SQL 会采用实例设置中设置的最终备份配置来执行最终备份并定义其保留期限。
如需查看实例的最终备份实例配置,请参阅查看实例信息
在成功创建具有最终备份设置的主实例后,无法创建副本实例。 如果您创建的新实例启用了最终备份实例设置,则必须更新最终备份组织政策,以仅将备份配置应用于主实例。 副本实例不支持最终备份。
如需了解详情,请参阅 Cloud SQL 组织政策

后续步骤