整体流程和预估时间

当发生部分表的误操作时,可进行库表恢复,将误操作的某张表或某些表恢复到原集群。

库表恢复分为按时间点恢复和按备份集(快照)恢复,两者的区别在于要恢复至的时间点是否是备份集的时间点。如果是备份集的时间点,则可选择按备份集(快照)恢复更方便。如果要恢复至的时间不是已有的备份集的时间点,则只能选择按时间点恢复。

整体流程

无论是按时间点恢复还是按备份集(快照)恢复,两者的关键流程是一致的:先创建一个临时节点,并将某个时间点的数据恢复至该节点,然后再将恢复出的数据恢复到原集群。

库表恢复新版已于2024年04月03日发布,相比旧版,优化了向原集群恢复数据的时间,并且热备集群以及GDN从集群可自动同步数据,大幅减少了任务的恢复时间。

  • 支持使用库表恢复新版的企业版集群版本要求如下:

    • PolarDB MySQL版8.0.2版本,修订版本需为8.0.2.2.25.3及以上。

    • PolarDB MySQL版8.0.1版本,修订版本需为8.0.1.1.44及以上。

    • PolarDB MySQL版5.7版本,修订版本需为5.7.1.0.30及以上。

    • PolarDB MySQL版5.6版本,修订版本需为5.6.1.0.42及以上。

  • 支持使用库表恢复新版的标准版集群版本要求如下:

    • PolarDB MySQL版8.0.2版本,修订版本需为8.0.2.2.21及以上。

    • PolarDB MySQL版8.0.1版本,修订版本需为8.0.1.1.38.2及以上。

    • PolarDB MySQL版5.7版本,修订版本需为5.7.1.0.30及以上。

    • PolarDB MySQL版5.6版本,修订版本需为5.6.1.0.42及以上。

当集群的修订版本符合上述版本要求时,将自动进入库表恢复新版恢复流程。旧版和新版流程原理图如下:

image
说明

建议在业务低峰期进行数据恢复。

预估时间

预估耗时如下,仅供参考:

步骤

预估耗时

创建一个临时节点,并将备份集中的数据恢复至该节点

约3~10分钟

恢复Redo日志增量数据

说明

仅按时间点恢复的方式需要恢复该类数据。耗时和需要应用的Redo日志大小相关。

1.5 GB/分钟

将数据恢复至原集群

预估耗时请参见表1 库表恢复速度测试数据参考表

如果待恢复的数据量达到TB级别,执行库表恢复操作可能耗时较长。如果想要快速恢复该数据,可使用备份集全量恢复,一般耗时几分钟。具体操作请参见全量恢复方式1:从备份集恢复

库表恢复速度测试数据参考如下表,该表的恢复速度仅指将数据恢复到原集群的速度。

表1 库表恢复速度测试数据参考表

CPU和内存(独享)

测试数据

innodb_io_capacity

innodb_io_capacity_max

是否开启存储热备

旧版流程恢复耗时

新版流程恢复耗时

旧版流程恢复速度

新版流程恢复速度

新版较旧版恢复速度提升

2核8 GB

单表 224.06 GB

4000

8000

3小时38分钟25秒

1小时43分钟36秒

1.03 GB/分钟

2.16 GB/分钟

111%

2小时23分钟0秒

1.57 GB/分钟

38%

4核16 GB

单表 208.83 GB

4000

8000

3小时3分钟31秒

1小时36分钟41秒

1.14 GB/分钟

2.16 GB/分钟

89%

1小时45分钟53秒

1.97 GB/分钟

10 %

8000

16000

3小时3分钟15秒

1小时3分钟49秒

1.14 GB/分钟

3.27 GB/分钟

187 %

1小时45分钟53秒

1.97 GB/分钟

66 %

8核32 GB

单表 202.97 GB

4000

8000

2小时50分钟56秒

1小时28分钟26秒

1.19 GB/分钟

2.30 GB/分钟

93%

1小时38分钟57秒

2.05 GB/分钟

12%

18000

36000

2小时51分钟5秒

42分钟39秒

1.19 GB/分钟

4.76 GB/分钟

301%

1小时38分钟33秒

1.31 GB/分钟

131%

16核64 GB

单表 206.01 GB

4000

8000

2小时55分钟26秒

1小时31分钟14秒

1.17 GB/分钟

2.26 GB/分钟

93%

1小时42分钟20秒

2.01 GB/分钟

12%

20000

40000

2小时53分钟49秒

1小时0分钟9秒

1.19 GB/分钟

3.42 GB/分钟

189%

1小时40分钟35秒

2.05 GB/分钟

67%

  • 库表恢复速度与集群是否开启存储热备、集群主节点规格、innodb_io_capacity参数值大小以及待恢复的表数量有关。

  • 以上测试数据未包含表数量很多的情况,如果用户指定恢复的表数量较多,也将会对恢复速度产生影响。

  • 您可通过动态调整innodb_io_capacityinnodb_io_capacity_max的值来调节恢复速度。参数值调整后,对库表恢复旧版流程恢复速度影响较小,对新版流程的恢复速度影响较大。

  • 以上测试数据仅供参考,实际恢复速度受底层机器机型、网络等因素影响。