若您要恢复至的时间点是某个备份集(快照)的时间点,可通过按备份集(快照)恢复的方式恢复误操作的数据库或者表的数据。
前提条件
已存在备份集(快照)。
适用范围
集群版本
库表恢复功能支持PolarDB企业版和标准版,但对集群的修订版本有特定要求。不同场景下的最低版本要求如下表所示。
基础功能:代表支持库表恢复所需满足的最低版本。
GDN主集群/新版恢复流程:代表在全球数据库(GDN)主集群上使用,或想获得新版恢复流程速度优化时,所需满足的最低版本要求。
说明库表恢复的新版恢复流程是在旧版的基础上,对数据恢复至原集群的速度进行了优化。其原理和速度可参见整体流程和预估时间。
版本系列 | MySQL 版本 | 架构 | 基础功能(最低修订版本) | GDN主集群/新版恢复流程(最低修订版本) |
企业版(集群版) | 5.6 | X86 |
|
|
5.7 | X86 |
|
| |
8.0.1 | X86 |
|
| |
8.0.2 | X86 |
|
| |
标准版 | 5.6 | X86 |
|
|
5.7 | X86 |
|
| |
8.0.1 | X86 |
|
| |
倚天(ARM) |
|
| ||
8.0.2 | X86 |
|
|
您可在PolarDB MySQL版集群的基本信息页面的配置信息区域查看当前集群的内核版本。
其他限制
在使用库表恢复功能时,请注意以下不支持的场景:
集群:
不支持多主集群(Limitless)和全球数据库(GDN)中的从集群。
在以下任一情况下,不支持对超过50,000张表的集群进行库表恢复:
存储空间类型为ESSD云盘。
集群中无只读(RO)节点。
表结构与索引:
不支持包含全局二级索引(GSI)的表。
不支持恢复列存索引(IMCI)。
存储引擎:仅支持恢复InnoDB存储引擎的表。
数据状态:不支持恢复已归档为冷数据的表。
注意事项
时间点恢复是指选择一个特定的时间点,对数据库表进行恢复操作。恢复后,数据库表将仅包含该时间点的数据,即此时数据库中的表数据将与该时间点一致。
当前库表恢复方式只支持从一级备份恢复,不支持从二级备份恢复。
库表恢复只会恢复指定的表,操作时请确认已选中所有需要恢复的表。
说明若无法确定所有涉及的表,建议您使用集群恢复的方式恢复全量集群。
集群内的表(包括系统表)超过50000张时也可以使用库表恢复功能。
若选择非整库恢复,该库每次最多支持恢复100张表。若选择恢复库,则支持恢复的表数量为该库下所有的表。
说明若您需要恢复的表数量较多,建议您使用集群恢复的方式恢复全量集群。
库表恢复功能不支持恢复触发器(Trigger),若原表设置了Trigger,该Trigger不会被恢复。
库表恢复功能不支持恢复外键(Foreign Key),若原表设置了Foreign Key,该Foreign Key不会被恢复。
建议在业务低峰期进行数据恢复。
步骤一、开始库表恢复
登录PolarDB控制台,在左侧导航栏单击集群列表,选择集群所在地域,并单击目标集群ID进入集群详情页。
在左侧导航栏中,选择
,单击库(表)恢复。在弹出的对话框中,选择恢复方式为按备份集,并在备份集列表中选择目标备份集。
说明库表恢复功能根据所占用的IOPS可分为快速、常规和安全三种配置,您可以根据实际需求进行选择。恢复速度配置的预估耗时请参见库表恢复速度测试数据参考。
快速:向当前集群恢复数据期间,可能占用大量IOPS(约60%),建议在业务低峰期选择。
常规【推荐】:向当前集群恢复数据期间,可能占用部分IOPS(约30%)。
安全:向当前集群恢复数据期间,仅占用少量IOPS(约15%),可能会大幅影响恢复速度。
在需要恢复的库和表区域左侧,选中需要恢复的目标库,并在右侧选中目标表。
说明若您未指定库名和表名,则系统会通过在原库名或原表名后添加
_backup
的方式,来自动生成新的库名和表名。如原表为test
,则自动生成的新的表名为test_backup
。若选中目标库后但未指定具体的数据表,默认恢复该库下的所有数据。
确认已选择您需要恢复的库和表后,单击确定即可。
步骤二、进行数据比对
当库表恢复完成后,您可以登录集群,进行数据比对,验证数据。
您可通过DMS登录集群,也可通过其他客户端或者命令行的方式。本文介绍通过DMS登录集群进行验证,关于其他方式,请参考连接数据库集群。
- 在集群的基本信息页面右上角,单击登录数据库。
- 在弹出的对话框中,输入集群的数据库账号和数据库密码,单击登录。
- 登录DMS后请刷新页面,在左侧导航栏中,单击已登录实例。
- 在已登录实例列表中,单击目标集群名称,找到并双击目标数据库名称,即可切换到目标数据库进行管理。
- 查找到误操作的数据,确认其是否已恢复到误操作前,且其他数据也和误操作发生前一致。