一、操作场景
云数据库 MySQL 回档通过定期镜像和实时流水重建,将云数据库或表回档到指定时间,且可以保证所有数据的时间切片一致,期间原有数据库或表的访问不受影响,回档操作会产生新的数据库或表至原实例中。回档完后,用户可以看到原来的数据库或表,以及新建的数据库或表。
二、功能原理
回档基于最近一次冷备 + 对应的 binlog回档到指定时间点。
1. 冷备系统每天会从 MySQL 备机导出数据到冷备系统。
2. 回档时,首先从回档系统申请一台回档实例,然后从冷备系统导出冷备数据并导入临时实例(根据回档方式导入不同数据)。
3. 回档实例和 MySQL 主实例建立主备关系,并设置需要回档的时间和数据库表。
4. 将回档后的数据库表拷贝到 MySQL 主实例。
三、功能限制
·单节点云盘版实例不支持回档。
·只支持主实例回档,不支持只读实例和灾备实例回档。
·目前只支持指定库表回档,回档后的库表会回写到源实例(需要重命名),不支持整实例回档。
·MySQL 5.5、5.6、5.7、8.0版本支持回档,建议 MySQL 5.5版本尽快升级至更高版本,升级请参见 升级数据库引擎版本。
·库级别的回档,不会导入的对象类型包含:外键约束、check 约束、触发器、存储过程、用户视图、Event。
四、注意事项
·当前回档时间支持设置到秒级别,对于毫秒范围的规则为:如果回档时间设置为2025-08-05 23:59:59,则2025-08-05 23:59:59:000及毫秒之后的时间不在恢复范围。
·回档功能与自动备份设置的备份周期时间和保留天数相关联,提供基于保留天数下且备份周期时间内数据备份 + 日志备份(binlog)的回档,备份周期设置请参见 自动备份 MySQL 数据。为保证数据安全,自动备份设置的备份周期请设置为一周至少备份两次 MySQL。
·包年包月实例未到期但账号欠费后,备份相关服务会降级,禁止回档数据库,若需进行回档操作,请充值至账号余额为正。
·如果需要回档的库表不存在或被误删,需要先登录数据库并创建库表,再使用控制台回档。
·如果回档之前的冷备份没有该表,回档会失败。
·备份可恢复的时间是从距离当前时间最远的一个有效物理备份或全量逻辑备份开始计算,建议你根据实际业务需要,合理设置备份的保留时间。
五、操作步骤
1. 登录 MySQL 控制台,在实例列表,选择一个或多个需要回档的实例,选择更多 > 回档。
注意:说明:
2. 在回档页面,选择回档库表,单击下一步:设置回档时间和库表名。
回档方式:
·普通:导入该实例的全量备份,再对选中的库、表进行回档。该回档模式无限制,但回档速度较慢。
·快速:全量备份 + 库级别 binlog,如有跨库操作,且关联库未被同时选中,将会导致回档失败。
·极速:全量备份 + 表级别 binlog,如有跨表操作,且关联表未被同时选中,将会导致回档失败。
注意:说明:
3. 设置回档后的库表名和回档时间,单击回档。
注意:说明:
4. 提交成功后返回操作日志 > 回档日志页,可查看回档进度,单击查看详情可实时查看回档日志。
5. 回档完成后,选择数据库管理 > 数据库列表页,可在原实例中看到回档后的新库表。