恢复逻辑备份数据
在数据库发生误操作或故障时,您可以通过 NineData 的备份与恢复服务将备份数据恢复到数据库。
前提条件
使用限制
- 恢复的目标数据源必须和备份数据的数据源类型一致。例如,MySQL 的备份数据不支持恢复到 SQL Server 数据源。
- 恢复的目标数据源版本必须大于或等于备份数据的数据源版本。例如,MySQL 8.0 的备份数据不支持恢复到 MySQL 5.6 数据源。
- 当前 SQL Server 数据源执行逻辑备份时不支持增量备份,因此不支持按时间点恢复。
- 全量恢复时,如果数据库中包含视图(VIEW)、函数(FUNCTION)、存储过程(PROCEDURE)、触发器(TRIGGER),则请勿执行步骤 5 中的配置映射对象,否则任务失败。
- 增量备份期间创建的触发器(TRIGGER)和事件(EVENT)无法恢复,但是其产生的数据会正常恢复。
- 恢复时,如果数据库中包含视图(VIEW)、函数(FUNCTION)、存储过程(PROCEDURE)、触发器(TRIGGER)、事件(EVENT),则上述对象的定义者(DEFINER)信息将被修改为当前恢复任务中访问数据库的账号。
- 恢复时,表中如果存在外键(FOREIGN KEY),则该外键约束不可用。
操作步骤
登录 NineData 控制台。
在左侧导航栏单击备份与恢复>数据恢复。
提示您也可以单击备份与恢复>备份集,在全量备份集页签下,找到目标已完成备份的备份集 ID,单击其右侧操作列下的恢复数据。
在创建恢复页面,按照下表进行配置,并单击下一步。
参数 说明 任务名称 输入恢复任务的名称,为了方便后续查找和管理,请尽量使用有意义的名称。最多支持 64 个字符。 源数据源 备份的对象,您可以通过选择源数据源快速找到备份任务。 备份任务 备份数据源时创建的备份任务,包含了恢复所需的所有数据。 恢复方式 支持如下恢复方式: - 按时间点恢复(仅 MySQL 支持):该方式基于全量备份数据和日志,可恢复全量数据和后续产生的增量数据。具体可恢复时间段请参见控制台。
- 备份集:该方式仅基于全量备份数据,支持恢复到全量备份完成的时间点,不包含增量数据。
恢复时间点(仅 MySQL 支持) 恢复方式为按时间点恢复时可配置,选择将数据恢复到哪个时间点。可达到秒级 RPO,即可恢复备份开始至当前时间点前几秒之间的任意时间点的数据。 备份集 恢复方式为备份集时可配置,选择全量备份集,该选项不包含增量数据。 目标数据源 恢复的对象,选择将备份数据恢复到哪个数据源。 恢复类型 恢复方式为备份集时可配置,选择需要恢复的内容,支持表结构、全量数据的单选或多选。您还可以单击展开高级设置,选择存在同名表或相同数据时的处理策略。 高级设置 - 结构冲突策略
- 忽略冲突,继续任务:存在同名表时,忽略并继续恢复任务。
- 对象已存在,则停止任务:存在同名表时,停止恢复任务。
- 数据冲突策略
- 忽略冲突,继续任务:存在相同数据时,忽略该条数据,继续恢复其他数据。
- 数据已存在,则停止任务:存在相同数据时,停止恢复任务。
- 先删除,再重新写入:删除该条数据,重新写入。
在恢复对象页签,确认需要恢复的内容,您可以选择所有备份恢复所有数据,也可以选择自定义对象,自行选择需要恢复的数据,然后单击下一步。
在配置映射对象页签,配置目标表恢复到目标数据源之后的表名,单击保存并预检查。
在预检查页签,等待系统完成预检查,预检查通过后,单击启动任务。
提示如果预检查未通过,需要单击目标检查项右侧操作列的详情,排查失败的原因,手动修复后重新执行预检查,直到通过。
检查结果为警告的检查项,可视具体情况修复或忽略。
在启动任务页面,提示启动成功。单击查看详情查看恢复任务的执行情况;单击返回列表可以返回恢复任务列表。