操作场景
云数据库 MySQL 不会改动用户的任何数据,因用户个人原因造成的数据损毁可自行回档修复。使用回档功能可对腾讯云平台中的数据库或表进行回档操作,回档是基于数据备份 + 日志备份(binlog),可进行实时数据回档。
云数据库 MySQL 回档通过定期镜像和实时流水重建,将云数据库或表回档到指定时间,且可以保证所有数据的时间切片一致,期间原有数据库或表的访问不受影响,回档操作会产生新的数据库或表至原实例中。回档完后,用户可以看到原来的数据库或表,以及新建的数据库或表。
功能原理
回档基于最近一次
冷备 + 对应的 binlog
回档到指定时间点。
1. 冷备系统每天会从 MySQL 备机导出数据到冷备系统。
2. 回档时,首先从回档系统申请一台回档实例,然后从冷备系统导出冷备数据导入临时实例(根据回档方式导入不同数据)。
3. 回档实例和 MySQL 主实例建立主备关系,并设置需要回档的时间和数据库表。
4. 将回档后的数据库表拷贝到 MySQL 主实例。
功能限制
单节点云盘版实例不支持回档。
只支持主实例回档,不支持只读实例和灾备实例回档。
目前只支持指定库表回档,回档后的库表会回写到源实例(需要重命名),不支持整实例回档。
MySQL 5.6、5.7、8.0版本支持回档,建议 MySQL 5.5版本尽快升级至更高版本,升级请参见 升级数据库引擎版本。
库级别的回档,不会导入的对象类型包含:外键约束、check 约束、触发器、存储过程、用户视图、Event。
注意事项
回档功能与自动备份设置的备份周期时间和保留天数相关联,提供基于保留天数下且备份周期时间内数据备份 + 日志备份(binlog)的回档,备份周期设置请参见 自动备份 MySQL 数据。为保证数据安全,自动备份设置的备份周期请设置为一周至少备份两次 MySQL。
包年包月实例未到期但账号欠费后,备份相关服务会降级,禁止回档数据库,若需进行回档操作,请充值至账号余额为正。
如果需要回档的库表不存在或被误删,需要先登录数据库并创建库表,再使用控制台回档。
如果回档之前的冷备份没有该表,灾备会失败。
操作步骤
1. 登录 MySQL 控制台,在实例列表,选择一个或多个需要回档的实例,选择更多操作 > 回档。
说明:
若只需进行一个实例的回档,也可进入实例管理页,在右上角单击回档。
同一个 APPID 下可同时发起最多5个回档任务。
2. 在回档页面,选择回档库表,单击下一步:设置回档时间和库表名。
回档方式:
普通:导入该实例的全量备份,再对选中的库、表进行回档。该回档模式无限制,但回档速度较慢。
快速:全量备份+库级别 binlog,如有跨库操作,且关联库未被同时选中,将会导致回档失败。
极速:全量备份+表级别 binlog,如有跨表操作,且关联表未被同时选中,将会导致回档失败。
说明:
目前仅支持名称为数字、字母、下划线及其组合的库表回档,库表名为其他特殊字符的暂不支持回档。
在指定库表回档模式下,同一实例同时仅支持500个库或表同时回档。
如果回档执行 binlog 时,涉及其他库表的复合操作,SQL 语句有可能会失败。
如果回档执行 binlog 时,表涉及了外键等约束,SQL 语句有可能会失败。
3. 设置回档后的库表名和回档时间,单击回档。
说明:
每个实例只能设置一个回档时间。
选择设置批量回档时间,所有库表以批量回档时间为准。
选择设置单表回档时间,库表以各自设置的回档时间为准。
回档后的库表名仅支持64位以内的英文、数字、小数点(.)、短横线(-)、下划线(_)、$。
4. 提交成功后返回操作日志 > 回档日志页,可查看回档进度,单击查看详情可实时查看回档日志。
5. 回档完成后,选择数据库管理 > 数据库列表页,可在原实例中看到回档后的新库表。