📣TiDB Cloud BYOC、TiDB Cloud Filesystem 和 PostgreSQL-compatible TiDB Cloud Starter 全新发布,开放公测中。此页面由 AI 自动翻译,英文原文请见此处。

备份与恢复 TiDB Cloud Premium 或 TiDB Cloud BYOC 数据



本文档介绍如何在 TiDB Cloud Premium 或 TiDB Cloud BYOC 实例上备份和恢复数据。TiDB Cloud Premium 和 TiDB Cloud BYOC 同时支持自动备份和手动备份,并允许你根据需要将备份数据恢复到新的实例。

备份文件可以来自以下来源:

  • 活跃的 TiDB Cloud Premium 或 TiDB Cloud BYOC 实例
  • 已删除的 TiDB Cloud Premium 或 TiDB Cloud BYOC 实例的备份所在的回收站

查看 Backup 页面

  1. 在 My TiDB 页面上,点击目标 TiDB Cloud Premium 或 TiDB Cloud BYOC 实例的名称,进入其实例概览页面。

  2. 在左侧导航栏中,点击 Data > Backup。

自动备份

TiDB Cloud Premium 和 TiDB Cloud BYOC 为生产环境提供增强的自动备份能力。它们结合高频快照和日志备份,以确保数据可靠性。

自动备份模式

你可以在 Backup Settings 中选择自动备份模式。可用的备份类型、保留时间和计费模式取决于所选模式。

备份模式支持的备份类型保留和恢复选项计费模式
Standard Bundle Mode
  • PITR
  • 每小时备份快照
  • 每日备份快照
  • PITR:7 天
  • 每小时快照:7 天
  • 每日快照:33 天
  • 每日快照在 UTC 00:00 创建。
基于增量数据量。
Custom Retention Mode
  • PITR
  • 每日备份快照
你可以将保留时间设置为 3 到 33 天。PITR 和每日快照使用所配置的保留时间。基于快照大小乘以保留时长。每个备份作为单独对象计费。

PITR 允许你将数据恢复到保留时间内的任意时间点。快照允许你从仍在保留时间内的特定每小时或每日快照恢复数据。

配置自动备份

  1. 在 My TiDB 页面上,点击目标 TiDB Cloud Premium 或 TiDB Cloud BYOC 实例的名称。

  2. 在左侧导航窗格中,点击 Data > Backup。

  3. 在右上角,点击 ...,然后点击 Backup Settings。

  4. 选择一种自动备份模式:

    • Standard Bundle Mode 使用预定义设置来配置 PITR、每小时快照和每日快照。
    • Custom Retention Mode 允许你指定自动备份的保留时间和每日备份时间。
  5. 如果你选择了 Custom Retention Mode,请配置以下设置。否则,跳过此步骤。

    • Backup Retention:选择 3 到 33 天的保留时间。默认值为 7 天。
    • Daily Backup Time:选择每日快照的时间。该设置旁边会显示时区。
  6. 查看 Overview 部分,然后点击 Save。

    概览会显示所选备份模式启用的备份类型、对应的保留时间以及可用的恢复选项。

在自动备份模式之间切换

要在 Standard Bundle Mode 和 Custom Retention Mode 之间切换,请执行以下步骤:

  1. 进入实例的 Backup 页面。

  2. 在右上角,点击 ...,然后点击 Backup Settings。

  3. 在显示的对话框中,选择一种新模式。

    • 如果切换到 Custom Retention Mode,则需要配置备份保留时间和每日备份时间。
    • 如果切换到 Standard Bundle Mode,保留时间和每日备份时间将重置为标准套餐的默认值。
  4. 在 Overview 部分检查保留设置,然后点击 Save。

保存更改后,后续自动备份将按照所选模式的计费模型进行计费。

如果新的保留时间短于当前保留时间,确认对话框会列出早于新保留时间的自动备份,这些备份将被永久删除。仅在验证你不再需要这些备份后,再确认此操作。

备份保护

为帮助防止数据丢失并保留一个恢复点,TiDB Cloud 会保护实例的最近一次成功的自动备份,直到其保留时间过期。因此,即使实例已被删除,你也无法手动删除这个受保护的最新备份。如果你尝试删除它,控制台会显示一条消息,说明该备份受保护,且在过期前无法删除。

删除备份文件

如需删除 TiDB Cloud Premium 或 TiDB Cloud BYOC 实例的现有备份文件,请执行以下步骤:

  1. 进入实例的 Backup 页面。

  2. 找到要删除的对应备份文件,然后在 Action 列中点击 ... > Delete。

手动备份

除了自动备份外,TiDB Cloud Premium 和 TiDB Cloud BYOC 还支持手动备份。手动备份可提供一个可控且有保障的恢复点。强烈建议你在执行高风险操作之前创建手动备份,例如系统升级、关键数据删除,或不可逆的 schema 或配置变更。

关键特性

  • 保留和删除:与自动备份不同,手动备份不会根据保留策略自动删除。它们会一直保留,直到你显式删除它们。如果你删除实例,其手动备份会移动到回收站,并一直保留在那里,直到你手动删除。
  • 存储位置:手动备份存储在由 TiDB 管理的云存储中。

  • 成本:由于手动备份会一直保留,直到你将其删除,因此会产生额外费用。

  • 限制:手动备份不支持 point-in-time recovery (PITR) 或部分备份(例如表级或数据库级备份)。你不能将手动备份恢复到现有实例。每次恢复操作都会创建一个新实例。

  • 权限:Organization Owner 和 Instance Manager 都可以创建手动备份。只有 Organization Owner 可以恢复系统管理的手动备份。

创建手动备份

  1. 进入实例的 Backup 页面。

  2. 在右上角,点击 ...,然后点击 Manual Backup。

  3. 确认操作。备份创建后,会显示在 Backup List 中。

你可以直接在 TiDB Cloud 控制台中恢复手动备份,而无需提供外部存储凭证。

恢复

TiDB Cloud 提供恢复功能,以帮助你在数据意外丢失或损坏时恢复数据。你可以从活跃实例的备份中恢复,也可以从回收站中已删除实例的备份中恢复。

恢复模式

TiDB Cloud 支持对你的实例进行快照恢复和 point-in-time 恢复。

  • Snapshot Restore:从特定备份快照恢复你的实例。你可以使用此方法恢复自动备份和手动备份。在 Backup List 中,手动备份会标记为 Manual 类型,过期状态为 Permanent。

  • Point-in-Time Restore:将你的实例恢复到特定时间点。

    • Premium 或 BYOC 实例:可以恢复到最近 7 天内的任意时间,但不能早于实例创建时间,也不能晚于当前时间前 1 分钟。请注意,手动备份不支持 PITR。

恢复目标

TiDB Cloud 支持将数据恢复到新实例。

恢复到新的 TiDB Cloud Premium 或 TiDB Cloud BYOC 实例

要将数据恢复到新的 TiDB Cloud Premium 或 TiDB Cloud BYOC 实例,请执行以下步骤:

  1. 进入实例的 Backup 页面。

  2. 点击 Restore。

  3. 在 Select Backup 页面,选择你要使用的 Restore Mode。你可以从特定备份快照恢复,或恢复到特定时间点。

      如需从选定的备份快照恢复,请执行以下步骤:

      1. 点击 Snapshot Restore。
      2. 选择你要恢复的备份快照。

      要将 Premium 或 BYOC 实例恢复到特定时间点,请执行以下步骤:

      1. 点击 Point-in-Time Restore。
      2. 选择你要恢复到的日期和时间。
    • 点击 Next 进入 Restore to a New Instance 页面。

    • 配置用于恢复的新 TiDB Cloud Premium 或 TiDB Cloud BYOC 实例。请按照 创建 TiDB Cloud Premium 实例 中的步骤进行操作。

    • 点击 Restore 开始恢复过程。

      当恢复过程开始时,实例状态会先变为 Creating。创建完成后,状态会变为 Restoring。在恢复完成且状态变为 Available 之前,实例始终不可用。

    从回收站恢复

    如需从回收站恢复已删除的 TiDB Cloud Premium 或 TiDB Cloud BYOC 实例,请执行以下步骤:

    1. 在 TiDB Cloud console 中,进入你所在组织的 My TiDB 页面,点击右上角的 ...,然后点击 Recycle Bin。

    2. 在 Recycle Bin 页面,点击 Premium 页签,进入 TiDB Cloud Premium 实例的回收站。

    3. 找到你要恢复的 TiDB Cloud Premium 实例,然后点击 > 按钮以展开该实例的可用备份。

    4. 在目标备份所在行中,点击 ...,然后选择 Restore。

    5. 在 Restore 页面,按照恢复到新实例中的相同步骤,将备份恢复到新实例。

    从不同套餐类型恢复备份

    当前,你只能将托管在 AWS 上的 TiDB Cloud Dedicated 集群备份恢复到新的 TiDB Cloud Premium 实例。

    如需恢复由 TiDB Cloud Dedicated 集群生成的备份,请执行以下步骤:

    1. 登录 TiDB Cloud console,然后进入 My TiDB 页面。在右上角,点击 ...,然后点击 Restore from Another Plan。

    2. 在 Select Backup 页面,选择包含目标 TiDB Cloud Dedicated 集群的项目。选择该 TiDB Cloud Dedicated 集群,选择你要恢复的备份快照,然后点击 Next。

    3. 在 Restore 页面,按照恢复到新实例中的相同步骤,将备份恢复到新实例。

    从云存储恢复备份

    TiDB Cloud Premium 支持将云存储(例如 Amazon S3 和 Alibaba Cloud Object Storage Service (OSS))中的备份恢复到新实例。此功能兼容从 TiDB Cloud Dedicated 集群或 TiDB Self-Managed 集群生成的备份。

    步骤

    开始之前,请确保你拥有具有足够权限以访问备份文件的 access key 和 secret key。

    要从云存储恢复备份,请执行以下操作:

    1. 登录 TiDB Cloud console,然后进入 My TiDB 页面。在右上角,点击 ... ,然后点击 Restore from Cloud Storage。

    2. 在 Select Backup Storage Location 页面,提供以下信息:

      • Cloud Provider:选择存储备份文件的云服务提供商。
      • Region:如果你的云服务提供商是 Alibaba Cloud OSS,请选择一个 region。
      • Backup Files URI:输入包含备份文件的顶层文件夹的 URI。
      • Access Key ID:输入你的 access key ID。
      • Access Key Secret:输入你的 access key secret。
    3. 点击 Verify Backup and Next。

    4. 如果验证成功,将显示 Restore to a New Instance 页面。查看页面顶部显示的备份信息,然后按照 Create a TiDB Cloud Premium Instance 中的步骤将备份恢复到一个新的实例。

      如果备份信息不正确,点击 Previous 返回上一页,然后输入正确的信息。

    5. 点击 Restore 以恢复备份。

    参考

    本节介绍如何为 Amazon S3 和 Alibaba Cloud OSS 配置访问。

    使用 AWS access key 配置 Amazon S3 访问

    建议你使用 IAM user,而不是 AWS account root user,来创建 access key。

    请按照以下步骤配置 access key:

    1. 创建 IAM user 和 access key。

      1. 创建一个 IAM user。更多信息,请参见 Create an IAM user in your AWS account。
      2. 使用你的 AWS account ID 或 account alias,以及 IAM user name 和 password,登录 IAM console。
      3. 创建 access key。更多信息,请参见 Manage access keys for IAM users。
    2. 向 IAM user 授予权限。

      创建一个仅包含你的任务所需权限的 policy,并将其附加到 IAM user。要将数据恢复到 TiDB Cloud Premium 或 TiDB Cloud BYOC 实例,请授予 s3:GetObject、s3:GetBucketLocation 和 s3:ListBucket 权限。

      以下是一个示例 policy,允许 TiDB Cloud 从你的 Amazon S3 bucket 中的特定文件夹恢复数据。

      { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowGetBucketLocation", "Effect": "Allow", "Action": "s3:GetBucketLocation", "Resource": "arn:aws:s3:::<Your S3 bucket name>" }, { "Sid": "AllowListPrefix", "Effect": "Allow", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::<Your S3 bucket name>", "Condition": { "StringLike": { "s3:prefix": "<Your backup folder>/*" } } }, { "Sid": "AllowReadObjectsInPrefix", "Effect": "Allow", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::<Your S3 bucket name>/<Your backup folder>/*" } ] }

      在上述 policy 中,将 <Your S3 bucket name> 和 <Your backup folder> 替换为你的实际 bucket 名称和备份目录。此配置遵循最小权限原则,将访问限制为仅必要的备份文件。

    配置 Alibaba Cloud OSS 访问

    要授予 TiDB Cloud 对你的 Alibaba Cloud OSS bucket 的访问权限,你需要为该 bucket 创建一个 AccessKey 对。

    请按照以下步骤配置 AccessKey 对:

    1. 创建一个 RAM user 并获取 AccessKey 对。更多信息,请参见 Create a RAM user。

      在 Access Mode 部分,选择 Using permanent AccessKey to access。

    2. 创建一个具有所需权限的自定义 policy。更多信息,请参见 Create custom policies。

      • 在 Effect 部分,选择 Allow。

      • 在 Service 部分,选择 Object Storage Service。

      • 在 Action 部分,选择所需权限。要将备份恢复到 TiDB Cloud Premium 实例,请授予 oss:ListObjects 和 oss:GetObject 权限。

        以下 JSON 示例展示了一个用于恢复任务的 policy。此 policy 将访问限制为特定 bucket 和备份文件夹。

        { "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "oss:ListObjects", "Resource": "acs:oss:*:*:<Your bucket name>", "Condition": { "StringLike": { "oss:Prefix": "<Your backup folder>/*" } } }, { "Effect": "Allow", "Action": "oss:GetObject", "Resource": "acs:oss:*:*:<Your bucket name>/<Your backup folder>/*" } ] }
      • 在 Resource 部分,选择该 bucket 以及 bucket 中的特定对象。

    3. 将自定义 policy 附加到 RAM user。

      更多信息,请参见 Grant permissions to a RAM user。

    文档内容是否有帮助?