更新时间:2025-07-16 GMT+08:00
分享

关于恢复

恢复原理

在混合云备份2.0-A中,恢复是一种任务驱动型进程。执行恢复之前,您需要先新建恢复任务。恢复任务是恢复需求的一个配置集合单元。恢复任务指定了从哪个存储恢复数据、恢复目的客户端以及恢复路径与恢复所设置的配置等,请参阅新建恢复任务进行恢复任务的新建,恢复任务新建成功后您可以对其进行管理,具体参阅管理恢复任务

逻辑备份恢复

混合云备份2.0-A恢复 MySQL数据库,逻辑备份恢复原理如下所示:

图1 逻辑备份恢复

创建逻辑备份恢复任务, 任务发起时:

  1. 从备份存储介质获取备份数据块,解析数据块为数据库可执行的语句。
  2. 执行恢复语句。
  3. 数据恢复完成后解析Binlog日志,应用日志数据。
  • 定时备份异机恢复时,务必保证异机的数据库用户名、密码均与原机保持一致,否则恢复失败。
  • 逻辑备份恢复时,务必启动MySQL数据库服务,否则恢复失败。
  • 不支持跨系统平台恢复(Windows恢复到Linux,Linux恢复到Windows)。
  • 不支持跨数据库版本恢复。
  • 支持最小粒度为数据库级别的恢复,也支持整个实例的恢复。
  • 由于MySQL库为系统库记录了其他数据库相关的信息,被覆盖或恢复后可能导致数据异常,浏览恢复选择数据源时请谨慎选择(注意)。
  • 恢复成功后,需要进行一次完全备份。若直接进行增量备份,该增量备份时间点不可用。
  • 在存在中文名称数据库以及中文安装路径的情况下,由于MySQL在解析日志时存在乱码,会导致增量的数据将无法恢复。

物理备份恢复

混合云备份2.0-A恢复 MySQL数据库,物理备份恢复原理如下所示:

图2 物理备份恢复

创建物理备份恢复任务, 任务发起时:

  1. 停止需要恢复的数据库实例。
  2. 将全量数据文件恢复到指定的MySQL的数据目录。
  3. 将增量的数据块覆盖恢复到数据文件对应的数据块上。
  4. 数据恢复完成,应用备份的Redo日志和Undo日志保证数据一致性。
  5. 启动数据库实例。
  6. 指定任意时间点恢复时通过应用Binlog日志恢复到指定时间点。
  • 定时备份异机恢复时,务必保证异机的数据库用户名、密码均与原机保持一致,否则恢复失败。
  • 物理备份恢复时,务必启动MySQL数据库服务,否则恢复失败。
  • 不支持跨系统平台恢复(Windows恢复到Linux,Linux恢复到Windows)。
  • 不支持跨数据库版本恢复。
  • 支持最小粒度为数据库级别的恢复,也支持整个实例的恢复。
  • 由于恢复后的实例如果联机使用的话,需要系统库,因此选择数据库粒度恢复时建议勾选所有系统库。
  • 由于原机原位置恢复是覆盖恢复,会清理原数据文件位置所有文件,建议选择原机原位置恢复需谨慎。
  • 恢复成功后,发起增量备份、差异备份、归档日志备份转完全备份。
  • 恢复的目的路径属主必须是目的实例运行的用户。

任意时间点恢复

任意时间点恢复如下所示:

图3 任意时间点恢复

创建恢复任务,选择时间点进行恢复时:

  1. 物理备份恢复到指定时间点前最近的一次非归档日志备份时间点,逻辑备份恢复到最近的一次完全备份。
  2. 获取恢复完成后Binlog的起点,开始应用Binlog日志到指定的时间点。

主备集群恢复

从主备集群备份的数据只支持恢复到单机,需要恢复到主备集群环境时,将恢复到的机器配置成单机模式,数据恢复后根据实际需要手动搭建集群环境并根据恢复节点对其他节点进行全同步操作。

相关文档