API 文档

回档数据库

最近更新时间:2021-09-07 14:50:34

操作场景

云数据库 MySQL 不会改动用户的任何数据,因用户个人原因造成的数据损毁可自行回档修复。使用回档功能可对腾讯云平台中的数据库或表进行回档操作,回档是基于数据备份 + 日志备份(binlog),可进行实时数据回档。

云数据库 MySQL 回档通过定期镜像和实时流水重建,将云数据库或表回档到指定时间,且可以保证所有数据的时间切片一致,期间原有数据库或表的访问不受影响,回档操作会产生新的数据库或表至原实例中。回档完后,用户可以看到原来的数据库或表,以及新建的数据库或表。

功能原理

回档基于最近一次冷备 + 对应的 binlog回档到指定时间点。

  1. 冷备系统每天会从 MySQL 备机导出数据到冷备系统。
  2. 回档时,首先从回档系统申请一台回档实例,然后从冷备系统导出冷备数据导入临时实例(根据回档方式导入不同数据)。
  3. 回档实例和 MySQL 主实例建立主备关系,并设置需要回档的时间和数据库表。
  4. 将回档后的数据库表拷贝到 MySQL 主实例。

功能限制

  • 只支持主实例回档,不支持只读实例和灾备实例回档。
  • 目前只支持指定库表回档,回档后的库表会回写到源实例(需要重命名),不支持整实例回档。

注意事项

  • 回档功能与自动备份设置的备份周期时间和保留天数相关联,提供基于保留天数下且备份周期时间内数据备份 + 日志备份(binlog)的回档,备份周期设置请参见 自动备份 MySQL 数据。为保证数据安全,自动备份设置的备份周期请设置为一周至少备份两次 MySQL。
  • 包年包月实例未到期但账号欠费后,备份相关服务会降级,禁止回档数据库,若需进行回档操作,请充值至账号余额为正。
  • 如果需要回档的库表不存在或被误删,需要先登录数据库并创建库表,再使用控制台回档。
  • 如果回档之前的冷备份没有该表,灾备会失败。

操作步骤

  1. 登录 MySQL 控制台,在实例列表,选择一个或多个需要回档的实例,选择更多操作 > 回档
    说明:

    • 若只需进行一个实例的回档,也可进入实例管理页,在右上角单击回档
    • 同一个 APPID 下可同时发起最多5个回档任务。
  2. 在回档页面,选择回档库表,单击下一步:设置回档时间和库表名
    • 普通:导入该实例的全量备份,再在对选中的库、表进行回档。该回档模式无限制,但回档速度较慢。
    • 快速:全量备份+库级别 binlog,如有跨库操作,且关联库未被同时选中,将会导致回档失败。
    • 极速:全量备份+表级别 binlog,如有跨表操作,且关联表未被同时选中,将会导致回档失败。
      说明:

      • 目前仅支持名称为数字、字母、下划线及其组合的库表回档,库表名为其他特殊字符的暂不支持回档。
      • 在指定库表回档模式下,同一实例同时仅支持500个库或表同时回档。
      • 如果回档执行 binlog 时,涉及其他库表的复合操作,SQL 语句有可能会失败。
      • 如果回档执行 binlog 时,表涉及了外键等约束,SQL 语句有可能会失败。
  3. 设置回档后的库表名和回档时间,单击回档
    说明:

    • 每个实例只能设置一个回档时间。
    • 选择设置批量回档时间,所有库表以批量回档时间为准。
    • 选择设置单表回档时间,库表以各自设置的回档时间为准。
    • 回档后的库表名仅支持64位以内的英文、数字、小数点(.)、短横线(-)、下划线(_)、$。
  4. 提交成功后返回操作日志 > 回档日志页,可查看回档进度,单击查看详情可实时查看回档日志。
  5. 回档完成后,选择数据库管理 > 数据库列表页,可在原实例中看到回档后的新库表。
目录