为了支持不同的业务场景,PolarDB-X SQL闪回提供生成回滚SQL与生成原始SQL两种恢复方式,您在生成恢复SQL文件前,需要根据使用场景,选择对应的恢复方式。
下图给出了SQL闪回针对一条误操作,生成的回滚SQL与原始SQL示例。

逆序遍历Binlog中的匹配事件,对INSERT、UPDATE、DELETE事件进行逆反操作,生成的SQL。
- INSERT逆反等价于DELETE。
- DELETE逆反等价于REPLACE。
- UPDATE逆反等价于UPDATE SET value=变更前。
使用方式:在原表执行,对现有数据进行覆盖性恢复。
适用场景:当需要恢复的数据没有冲突或者接受部分冲突数据被覆盖,建议生成回滚SQL。
原始SQL顺序遍历Binlog中的匹配事件,对INSERT、UPDATE、DELETE事件进行全记录的镜像构造处理,生成的SQL。
- INSERT镜像等价于INSERT。
- DELETE镜像等价于INSERT。
- UPDATE镜像等价于INSERT变更前的值。
使用方式:在临时表执行,写入误操作前的原始数据,与现有数据进行对比,分析冲突后决定最终数据。
适用场景:当需要恢复的数据与当前数据存在冲突时,建议生成原始SQL。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




