恢复到指定的时间点是指将数据库恢复到过去某一个特定的时间点上的状态。具体实现方式是在备份时记录每个事务变化的时间点(也称为 LSN),在恢复时指定需要恢复到的 LSN,然后进行还原。
操作场景
关系数据库MySQL版支持使用已有的自动备份,恢复实例数据到指定时间点。实例恢复到指定时间点,会从备份空间中选择一个该时间点最近的全量备份下载到实例上进行全量恢复,再重放增量备份到指定时间点,恢复时长和实例的数据量有关,恢复速率根据磁盘类型不同有所差异。
注意
由于恢复到时间点功能需要依赖最近的一个全量备份和Binlog日志文件,如若最近的全备失败或者Binlog日志备份关闭,可能会影响恢复时间点功能,导致有一段时间恢复不到。
约束限制
请勿在实例的生命周期内执行"reset master"命令,以免造成恢复到指定时间点功能异常。
目前该功能仅Ⅱ类型资源池支持恢复到新实例,新实例将作为用户新开通的实例收费。
如备份类型选择了云硬盘,目标实例的VPC和数据库版本需与原实例相同,否则会导致恢复失败。如备份类型选择对象存储,VPC可以不同。
目标实例与原实例在表名大小写的区分上需相同,否则会导致恢复失败。
目标实例的存储空间需大于原实例的存储空间,否则会导致恢复失败。建议新实例的存储空间在原实例存储空间基础上增加30%以上。
操作步骤
在天翼云官网首页的顶部菜单栏,选择产品 > 数据库 > 关系型数据库 > 关系数据库MySQL版,进入关系数据库MySQL产品页面。然后单击管理控制台,进入TeleDB数据库概览页面。
在左侧导航栏,选择MySQL > 实例管理,进入实例列表页面。然后在顶部菜单栏,选择区域和项目。
在实例列表中,单击目标实例名称,进入基本信息页面。
单击备份恢复,进入基础备份列表页签。
在备份文件列表上方,单击实例恢复。
配置实例恢复参数,单击提交。参数说明如下:
源实例:生成该备份数据的实例。
恢复策略:可选择按时间点和按备份集恢复。
可还原时间点:当前实例的可恢复时间范围。最早和最晚时间范围由备份集和实时日志备份决定。
还原时间:用户需要还原到的目的时间点。
恢复到:恢复的目标实例。
恢复到资源池:可以恢复到的资源池,如开启了跨域备份,则恢复到新实例可支持恢复到异地资源池。
注意
恢复的目标实例可以为当前实例、已有实例、新实例。按时间点恢复将会覆盖目标实例的数据,恢复到选择的时间点,请您保证选择恢复到的目标实例已无需使用,或提前妥善保存好目前实例的数据。
由于版本,规格等限制,恢复目标实例可能存在置灰情况,如已有实例置灰,说明当前资源池没有可供本实例用来恢复的目标实例。请选择新实例或者当前实例。
恢复成功后,登录数据库实例进行验证。
恢复任务查看
当完成以上恢复操作,可以在任务列表查看相关任务状态。
1.在天翼云官网首页的顶部菜单栏,选择产品 > 数据库 > 关系型数据库 > 关系数据库MySQL版,进入关系数据库MySQL产品页面。然后单击管理控制台,进入概览页面。
2.在左侧导航栏,选择MySQL > 任务列表,进入任务列表页面。然后在顶部菜单栏,选择区域和项目。
3.可以搜索任务名称:实例恢复或库表恢复等恢复任务。
4.点击任务名称旁的感叹号,可查看恢复任务和相关日志。
恢复实例Q&A
为何通过备份集不能恢复到当前实例?
可检查当前实例的状态是否正常,如果非运行中或异常,需要等待实例为运行中才可以进行恢复到当前实例。
为何不能恢复到已有实例?
可以从以下原因进行排查:可检查目标实例的状态是否正常。
目标实例版本与源实例的版本是否相同,且内核版本目标实例是否大于等于当前实例内核版本,因为高内核版本的实例无法恢复到低内核版本的实例。
目标实例与源实例的lower_case_table_names参数是否相同,该参数为区分表名大小写参数,如果不同,也无法恢复。
目标实例实例与源实例若备份类型为云硬盘,则需要注意目标实例与源实例的VPC需要一致,若为对象存储,则可以跨VPC恢复。
目标实例与源实例是否在同一个企业项目,不同企业项目无法恢复。
目标实例如果为带只读的MGR实例,也无法进行恢复。
源实例具备tde功能,但是目标实例不具备,也将无法进行恢复。