一种支持MySQL快速回滚数据的方法技术

技术编号:23084975 阅读:31 留言:0更新日期:2020-01-11 01:07
本发明专利技术公开了一种支持MySQL快速回滚数据的方法,包括以下步骤:A.抽取数据库的归档日志,获取需要回滚的数据的event初始值和结束值;B.在程序客户端伪装成一个slave,不断的获取数据库的重做数据流;C.捕获DML事件,分别将insert/update/delete语句进行重新拼接;D.关闭临时文件,读取文件中回滚SQL内容并输出;通过本方法直接生成了可执行的回滚SQL语句,可以实现快速的恢复误操作数据;恢复过程不需要停机,操作简单方便且快速。

A method of supporting Mysql to quickly roll back data

【技术实现步骤摘要】
一种支持MySQL快速回滚数据的方法
本专利技术涉及数据库
,尤其涉及一种支持MySQL快速回滚数据的方法。
技术介绍
在MySQL数据库的生产运维过程中,误删除数据、误修改数据是经常发生的事情。数据对任何一个项目都是非常重要的财产,如何快速有效的回滚数据已经成为一种考验。一种快速的恢复方法是在系统层面,利用LVM的快照来获取某个时间点的数据。但是快照功能是基于特定的时间点的,不能最大限度的减小可能的数据丢失。更传统的恢复办法是利用备份重新搭建实例,再应用去除错误SQL之后的binlog来尽可能的恢复数据。但是此方法费时费力,甚至需要停机维护,并不适合快速回滚数据。
技术实现思路
本专利技术的目的就在于为了解决上述问题而提供一种支持MySQL快速回滚数据的方法,通过解析数据库的归档二进制日志文件,反向生成可执行的回滚SQL语句,可以实现快速的恢复误操作数据。本专利技术通过以下技术方案来实现上述目的:一种支持MySQL快速回滚数据的方法,包括以下步骤:A.抽取数据库的归档日志,获取需要回滚的数据的本文档来自技高网...

【技术保护点】
1.一种支持MySQL快速回滚数据的方法,其特征在于,包括以下步骤:/nA.抽取数据库的归档日志,获取需要回滚的数据的event初始值和结束值;/nB.在程序客户端伪装成一个slave,不断的获取数据库的重做数据流;/nC.捕获DML事件,分别将insert/update/delete语句进行重新拼接;/nD.关闭临时文件,读取文件中回滚SQL内容并输出。/n

【技术特征摘要】
1.一种支持MySQL快速回滚数据的方法,其特征在于,包括以下步骤:
A.抽取数据库的归档日志,获取需要回滚的数据的event初始值和结束值;
B.在程序客户端伪装成一个slave,不断的获取数据库的重做数据流;
C.捕获DML事件,分别将insert/update/delete语句进行重新拼接;
D.关闭临时文件,读取文件中回滚SQL内容并输出。


2.如权利要求1所述的一种支持MySQL快速回滚数据的方法,其特征在于,所述步骤A中,在数据库里误操作数据之后,在归档日志文件里会记录下所有的DML操作;通过抽取数据库的归档二进制日志,形成一个可读的数据库操作日志,这里面包含了已执行的误操作数据和SQL语句;由此定位到误操作数据的范围,并获得需要回滚的数据的event初始值和结束值;event的位置均是由具体的file和position点位来确定。


3.如权利要求1所述的一种支持MySQL快速回滚数据的方法,其特征在于,所述步骤B中,对于数据库的主从架构,主库的数据会不断同步到从库,来达到从库数据一致性;由此可以用程序来实现一个客户端,把自己伪装成一个slave从库,不断的获取主库的binl...

【专利技术属性】
技术研发人员:刘小龙唐军周文龙
申请(专利权)人:四川长虹电器股份有限公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1