CN111176887A - MySQL误操作回滚方法、设备及*** - Google Patents
MySQL误操作回滚方法、设备及*** Download PDFInfo
- Publication number
- CN111176887A CN111176887A CN201811331065.9A CN201811331065A CN111176887A CN 111176887 A CN111176887 A CN 111176887A CN 201811331065 A CN201811331065 A CN 201811331065A CN 111176887 A CN111176887 A CN 111176887A
- Authority
- CN
- China
- Prior art keywords
- misoperation
- log
- row
- sql statement
- specified
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000011084 recovery Methods 0.000 claims abstract description 30
- 238000004458 analytical method Methods 0.000 claims description 11
- 239000000126 substance Substances 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 4
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 230000008439 repair process Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000005096 rolling process Methods 0.000 description 2
- 241000894007 species Species 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000010248 power generation Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种MySQL误操作回滚方法、设备及***,该方法包括:当发生误操作后接收数据恢复的请求指令;请求指令包含误操作所对应的起止时间与/或起止位置点;读取数据库中操作记录日志,获取行格式记载的关于误操作所在起止时间与/或起止位置点内的操作记录日志;解析误操作在操作记录日志所对应的各行操作,根据各行操作生成反向SQL语句,在数据库执行反向SQL语句操作以恢复数据。在发生误操作时,通过获取误操作的起止时间与/或起止位置点,读取数据库中操作记录日志,在操作记录日志查找与其匹配的操作记录日志,解析操作记录日志得到各行操作,对各行操作进行反向操作从而恢复数据,本发明针对数据恢复效率更高,更精准。
Description
技术领域
本发明涉及一种数据库技术领域,特别是涉及一种MySQL误操作回滚方法、设备及***。
背景技术
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,其不仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型;从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库***都在各个方面得到了广泛的应用。
目前,很多业务都用到了数据库,使用数据库往往需要使用相应的管理软件,方便管理者使用。例如,MySQL(开放源代码的关系型数据库管理***)其采用结构化查询语言对数据库进行管理。然而,在使用过程中时常发生误删数据、误改数据的误操作现象,作为DBA(数据管理员)需要对所述误操作进行数据恢复,常用做法是:查找误操作时刻之前最近的数据库备份,通过数据库备份恢复成备份数据,从备份数据中找到需要的数据进行修复,但是这个时间过长,特别是针对大表少数数据的修复来讲,动作太大,成本也大,故造成数据恢复效率不高。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种MySQL误操作回滚方法及***,用于解决现有技术中采用全备加日志来恢复误删除操作,导致恢复效率低的问题。
为实现上述目的及其他相关目的,本申请的第一方面,本发明提供一种MySQL误操作回滚方法,包括:
当发生误操作后接收数据恢复的请求指令;其中,所述请求指令包含误操作所对应的起止时间与/或起止位置点;
读取数据库中操作记录日志,获取行格式记载的关于误操作所在起止时间与/或起止位置点内的操作记录日志;
解析所述误操作在所述操作记录日志所对应的各行操作,根据各行所述操作生成反向SQL语句,在数据库执行反向SQL语句操作以恢复数据。
在第一方面的某些实施方式中,所述各行操作包括删除操作、更新操作与***操作。
在第一方面的某些实施方式中,当所述各行操作中存在删除操作时,生成对应的反向SQL语句为***操作;当所述各行操作中存在***操作时,生成对应的反向SQL语句为删除操作;当所述各行操作中存在更新操作时,生成对应的反向SQL语句为更新为原值的操作。
在第一方面的某些实施方式中,所述操作记录日志为二进制日志。
在第一方面的某些实施方式中,当所述请求指令为指定指令时,在操作记录日志中抽取集合与表名为所述指定指令中包含二进制日志,解析所述二进制日志生成反向SQL语句;其中,如果所述指定指令未指定二进制日志的文件名,查找最新备份的操作记录日志中二进制日志的文件名,解析所述文件名匹配的二进制日志直到最新生成的二进制日志为止;如果所述指定指令指定二进制日志文件名,根据指定二进制日志文件名的起止时间与起止位置点,解析所述指定二进制日志直到指定的截止时间为止。
本申请的第二方面,提供一种MySQL误操作回滚***,包括:
接收模块,用于当发生误操作后接收数据恢复的请求指令;其中,所述请求指令包含误操作所对应的起止时间与/或起止位置点;
获取模块,用于读取数据库中操作记录日志,获取行格式记载的关于误操作所在起止时间与/或起止位置点内的操作记录日志;
解析恢复模块,用于解析所述误操作在所述操作记录日志所对应的各行操作,根据各行所述操作生成反向SQL语句,在数据库执行反向SQL语句操作以恢复数据。
在第二方面的某些实施方式中,所述各行操作包括删除操作、更新操作与***操作。
在第二方面的某些实施方式中,当所述各行操作中存在删除操作时,生成对应的反向SQL语句为***操作;当所述各行操作中存在***操作时,生成对应的反向SQL语句为删除操作;当所述各行操作中存在更新操作时,生成对应的反向SQL语句为更新为原值的操作。
在第二方面的某些实施方式中,指定恢复模块,用于当所述请求指令为指定指令时,在操作记录日志中抽取集合与表名为所述指定指令中包含二进制日志,解析所述二进制日志生成反向SQL语句,执行反向SQL语句操作以恢复数据;其中,
未指定解析单元,用于如果所述指定指令未指定二进制日志的文件名,查找最新备份的操作记录日志中二进制日志的文件名,解析所述文件名匹配的二进制日志直到最新生成的二进制日志为止;
指定解析单元,用于如果所述指定指令指定二进制日志文件名,根据指定二进制日志文件名的起止时间与起止位置点,解析所述指定二进制日志直到指定的截止时间为止。
本申请的第三方面,提供一种设备,包括:
一个或多个处理器;
存储器;以及
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行指令,所述一个或多个处理器执行所述执行指令使得所述设备执行如所述的MySQL误操作回滚方法。
如上所述,本发明的MySQL误操作回滚方法、设备及***,具有以下有益效果:
本发明在数据库中发生误操作时,通过获取误操作的起止时间与/或起止位置点,读取数据库中操作记录日志,以其起止时间与/或起止位置点为依据在操作记录日志查找与其匹配的操作记录日志,解析所述操作记录日志得到各行操作,对各行操作进行反向操作从而恢复数据。相比现有的直接通过最近备份数据进行恢复,本发明针对数据恢复效率更高,更精准。
附图说明
图1显示为本发明提供的一种MySQL误操作回滚方法流程图;
图2显示为本发明提供的一种MySQL误操作回滚方法的一实施例流程图;
图3显示为本发明提供的一种MySQL误操作回滚***框架图;
图4显示为本发明提供的一种MySQL误操作回滚***一实施例图;
图5显示为本发明提供的一种MySQL误操作回滚设备一实施例图。
元件标号说明
1 接收模块
2 获取模块
3 解析恢复模块
4 指定恢复模块
41 未指定解析单元
42 指定解析单元
5 处理器
6 存储器
S1~S4 步骤1至4
具体实施方式
以下由特定的具体实施例说明本申请的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本申请的其他优点及功效。
在下述描述中,参考附图,附图描述了本申请的若干实施例。应当理解,还可使用其他实施例,并且可以在不背离本公开的精神和范围的情况下进行机械组成、结构、电气以及操作上的改变.下面的详细描述不应该被认为是限制性的,并且本申请的实施例的范围仅由公布的专利的权利要求书所限定.这里使用的术语仅是为了描述特定实施例,而并非旨在限制本申请。空间相关的术语,例如“上”、“下”、“左”、“右”、“下面”、“下方”、“下部”、“上方”、“上部”等,可在文中使用以便于说明图中所示的一个元件或特征与另一元件或特征的关系。
虽然在一些实例中术语第一、第二等在本文中用来描述各种元件,但是这些元件不应当被这些术语限制。这些术语仅用来将一个元件与另一个元件进行区分。例如,第一预设阈值可以被称作第二预设阈值,并且类似地,第二预设阈值可以被称作第一预设阈值,而不脱离各种所描述的实施例的范围。第一预设阈值和预设阈值均是在描述一个阈值,但是除非上下文以其他方式明确指出,否则它们不是同一个预设阈值。相似的情况还包括第一音量与第二音量。
再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示.应当进一步理解,术语“包含”、“包括”表明存在所述的特征、步骤、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、步骤、操作、元件、组件、项目、种类、和/或组的存在、出现或添加.此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合.因此,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A、B和C”仅当元件、功能、步骤或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
请参阅图1,本发明提供一种MySQL误操作回滚方法流程图,包括:
步骤S1,当发生误操作后接收数据恢复的请求指令;其中,所述请求指令包含误操作所对应的起止时间与/或起止位置点;
其中,要执行回滚,首先,必须开启Binlog,Format为Row,其次,必须要有主数据库、备数据库,且备数据库备份主数据库的数据。
步骤S2,读取数据库中操作记录日志,获取行格式记载的关于误操作所在起止时间与/或起止位置点内的操作记录日志;
其中,数据库的日志格式必须为ROW格式,其不记录sql语句上下文相关信息,仅保存哪条记录被修改,哪条记录被修改成什么了。因此,rowlevel的日志内容会非常清楚的记录下每一行数据修改的细节。而不会出现某些特定情况下的存储过程,或function,以及trigger的调用和触发无法被正确复制的问题。
步骤S3,解析所述误操作在所述操作记录日志所对应的各行操作,根据各行所述操作生成反向SQL语句,在数据库执行反向SQL语句操作以恢复数据。
在本实施例中,适用于人为SQL语句造成的误操作或没有主从复制等热备情况宕机时的修复,传统恢复的首要条件需要mysql开启binlog日志功能,同时,需要全备和增量的所有数据,先恢复全量,再恢复全备时刻点以后的增量日志,按顺序恢复成SQL文件,把SQL文件中有问题的SQL语句删除(通过时间或位置点),最后再恢复到数据库,而本实施例是发生误操作时,定位误操作的位置,利用回滚生成回滚SQL语句,在数据库中直接执行回滚SQL语句,恢复数据,相比传统方式,恢复速度更快,效率更高。
具体地,所述各行操作包括删除操作、更新操作与***操作。
当所述各行操作中存在删除操作时,生成对应的反向SQL语句为***操作;当所述各行操作中存在***操作时,生成对应的反向SQL语句为删除操作;当所述各行操作中存在更新操作时,生成对应的反向SQL语句为更新为原值的操作。
在解析得到与误操作对应的各行操作之后,在数据库中执行事务回滚操作,对数据库进行恢复操作,对数据库的误操作进行恢复是按照与误操作对应的反向操作进行的。其中,与误操作的反向操作可以是顺序的反向和执行语句的反向。顺序的方向是对数据库的恢复操作和对数据库的误操作的顺序是相反的,例如,对数据库的误操作是按照1、2…10的顺序进行的,而对数据库的恢复则是按照从10、9…1的顺序的反向操作;执行语句的反向是针对数据库的误操作进行执行语句的相反操作,即,从误操作的最后一条开始反向逻辑的执行相反操作,以恢复数据。
所述操作记录日志为二进制日志,其中,在将binlog日志的二进制流解析为可读的多条行可执行操作后,可以直接将该多条行可执行操作作为与误操作对应的各行操作,执行事务回滚操作,实现数据库的数据恢复,例如,将binlog二进制流解析得到的可执行操作为100行,如果与误操作有关联的只有其中几行,则只将这几行可执行操作作为与误操作对应的操作,按倒序逐个执行在数据库中执行事务回滚操作,实现数据库的数据恢复。
另外,在本实施例中,所述请求指令可为只令包含误操作的起止时间,如,2018-8-20 09:30:51,精确到具体某年某月某日某时某分某秒,也可为相应时间段(起点时间至中止时间);所述请求指令可为只令包含误操作的起止位置点,例如,#at 1643330:为事件(sqlevent起点)的起点,是以1643330字节开始;end_log_pos 1643885:为事件(sqlevent终点)的终点,是以1643885字节结束。该请求指令包含误操作所对应的起止时间与起止位置点,相比只采用一种方式,通过两者相结合直接定位误操作的具***置(提高了定位精确度),从而对误操作的执行语句进行反向操作,能够又快又好的进行数据恢复,保证了数据恢复的准确度与精准性。
请参阅图2,为本发明提供的一种MySQL误操作回滚方法的一实施例流程图,包括:
步骤S4,当所述请求指令为指定指令时,在操作记录日志中抽取集合与表名为所述指定指令中包含二进制日志,解析所述二进制日志生成反向SQL语句;
具体地,指定指令为用户在获悉误操作的情况下所发出的指令,根据指定指令包含的参数信息(如,文件名等),在操作记录日志中抽取相匹配的二进制日志,按照指令指令所涉及的误操作,解析所述误操作在所述操作记录日志所对应的各行操作,根据各行所述操作生成反向SQL语句,在数据库执行反向SQL语句操作以恢复数据,在此不一一赘述。
其中,步骤S4具体包括:步骤S401,如果所述指定指令未指定二进制日志的文件名,查找最新备份的操作记录日志中二进制日志的文件名,解析所述文件名匹配的二进制日志直到最新生成的二进制日志为止;
具体地,如果指定指令中未包含相应的文件名,无法通过指定指令中定位到误操作语句的在数据库的操作记录日志的具***置,那么需从最新备份的操作记录日志中二进制日志的文件名,采用全解析的方式进行解析。
步骤S402,如果所述指定指令指定二进制日志文件名,根据指定二进制日志文件名的起止时间与起止位置点,解析所述指定二进制日志直到指定的截止时间为止。
在本实施例中,指定指令有利于快速恢复误操作导致数据错误,提高了数据恢复效率。
请参阅图3,为本发明提供一种MySQL误操作回滚***结构框图,包括:
接收模块1,用于当发生误操作后接收数据恢复的请求指令;其中,所述请求指令包含误操作所对应的起止时间与/或起止位置点;
获取模块2,用于读取数据库中操作记录日志,获取行格式记载的关于误操作所在起止时间与/或起止位置点内的操作记录日志;
解析恢复模块3,用于解析所述误操作在所述操作记录日志所对应的各行操作,根据各行所述操作生成反向SQL语句,在数据库执行反向SQL语句操作以恢复数据。
所述各行操作包括删除操作、更新操作与***操作,具体对数据库进行实质性操作。
当所述各行操作中存在删除操作时,生成对应的反向SQL语句为***操作;当所述各行操作中存在***操作时,生成对应的反向SQL语句为删除操作;当所述各行操作中存在更新操作时,生成对应的反向SQL语句为更新为原值的操作;如果操作记录日志中存在多条误操作时,请参照图1中实施例进行操作,在此不一一赘述。
请参阅图4,为本发明提供的一种MySQL误操作回滚***一实施例图,在其它实施例中,该MySQL误操作回滚***包括:
指定恢复模块4,用于当所述请求指令为指定指令时,在操作记录日志中抽取集合与表名为所述指定指令中包含二进制日志,解析所述二进制日志生成反向SQL语句,执行反向SQL语句操作以恢复数据;其中,
未指定解析单元41,用于如果所述指定指令未指定二进制日志的文件名,查找最新备份的操作记录日志中二进制日志的文件名,解析所述文件名匹配的二进制日志直到最新生成的二进制日志为止;
指定解析单元42,用于如果所述指定指令指定二进制日志文件名,根据指定二进制日志文件名的起止时间与起止位置点,解析所述指定二进制日志直到指定的截止时间为止。
请参阅图5,本发明提供的一种MySQL误操作回滚设备一实施例图,包括:
一个或多个处理器5;
存储器6;以及
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行指令,所述一个或多个处理器执行所述执行指令使得所述电子设备执行如所述的MySQL误操作回滚方法。
在本实施例中,本申请提供一种MySQL误操作回滚方法及***,适用于设备(电子设备)中,于实际的实施方式中,所述电子设备例如为包括但不限于笔记本电脑、平板电脑、移动电话、智能手机、媒体播放器、个人数字助理(PDA)、导航仪、智能电视、智能手表、数码相机等等,还包括其中两项或多项的组合。应当理解,本申请于实施方式中描述的电子设备只是一个应用实例,该设备的组件可以比图示具有更多或更少的组件,或具有不同的组件配置。所绘制图示的各种组件可以用硬件、软件或软硬件的组合来实现,包括一个或多个信号处理和/或专用集成电路。在本申请的具体实施方式中,将以所述电子设备为智能手机为例进行说明。
所述电子设备还包括存储器控制器、外设接口、RF电路、音频电路、扬声器、麦克风、输入/输出(I/O)子***、触摸屏、其他输出或控制设备,以及外部端口。这些组件通过一条或多条通信总线或信号线进行通信。所述电子设备还包括用于为各种组件供电的电源***。该电源***可以包括电源管理***、一个或多个电源(例如电池、交流电(AC))、充电***、电源故障检测电路、电源转换器或逆变器、电源状态指示器(例如发光二极管(LED)),以及与便携式设备中的电能生成、管理和分布相关联的其他任何组件。
所述电子设备支持各种应用程序,诸如以下各项中的一者或多者:绘图应用程序、呈现应用程序、文字处理应用程序、网站创建应用程序、盘编辑应用程序、电子表格应用程序、游戏应用程序、电话应用程序、视频会议应用程序、电子邮件应用程序、即时消息应用程序、健身支持应用程序、照片管理应用程序、数字相机应用程序、数字视频摄像机应用程序、网页浏览应用程序、数字音乐播放器应用程序和/或数字视频播放器应用程序。
于某些实施方式中,所述处理器还与I/O端口和输入结构可操作地耦接,该I/O端口可使得电子设备20能够与各种其他电子设备进行交互,该输入结构可使得用户能够与电子设备20进行交互。因此,输入结构可包括按钮、键盘、鼠标、触控板等。此外,电子显示器可包括触摸部件,该触摸部件通过检测对象触摸其屏幕(例如,电子显示器的表面)的发生和/或位置来促进用户输入。
所述处理器可操作地与存储器和/或非易失性存储设备耦接。更具体地,处理器可执行在存储器和/或非易失性存储设备中存储的指令以在计算设备中执行操作,诸如生成图像数据和/或将图像数据传输到电子显示器。如此,处理器可包括一个或多个通用微处理器、一个或多个专用处理器(ASIC)、一个或多个现场可编程逻辑阵列(FPGA)、或它们的任何组合。
所述存储器可包括高速随机存取存储器,并且还可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。在某些实施例中,存储器还可以包括远离一个或多个处理器的存储器,例如经由RF电路或外部端口以及通信网络(未示出)访问的网络附加存储器,其中所述通信网络可以是因特网、一个或多个内部网、局域网(LAN)、广域网(WLAN)、存储局域网(SAN)等,或其适当组合。存储器控制器可控制设备的诸如CPU和外设接口之类的其他组件对存储器的访问,从储存器(从数据库)即为主存储器(主数据库)的备份库,实际应用中,在建立主数据库之后,会相应的建立与之对应的从数据库,以避免由于客观原因(如服务器出现硬件问题无法修复等)造成数据库中数据的丢失,主数据库负责写操作的负载,而读的操作则分摊在从数据库上进行,可以大大提高读取的效率。
综上所述,本发明在数据库中发生误操作时,通过获取误操作的起止时间与/或起止位置点,读取数据库中操作记录日志,以其起止时间与/或起止位置点为依据在操作记录日志查找与其匹配的操作记录日志,解析所述操作记录日志得到各行操作,对各行操作进行反向操作从而恢复数据。相比现有的直接通过最近备份数据进行恢复,本发明针对数据恢复效率更高,更精准。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (10)
1.一种MySQL误操作回滚方法,其特征在于,包括:
当发生误操作后接收数据恢复的请求指令;其中,所述请求指令包含误操作所对应的起止时间与/或起止位置点;
读取数据库中操作记录日志,获取行格式记载的关于误操作所在起止时间与/或起止位置点内的操作记录日志;
解析所述误操作在所述操作记录日志所对应的各行操作,根据各行所述操作生成反向SQL语句,在数据库执行反向SQL语句操作以恢复数据。
2.根据权利要求1所述的MySQL误操作回滚方法,其特征在于,所述各行操作包括删除操作、更新操作与***操作。
3.根据权利要求2所述的MySQL误操作回滚方法,其特征在于,当所述各行操作中存在删除操作时,生成对应的反向SQL语句为***操作;当所述各行操作中存在***操作时,生成对应的反向SQL语句为删除操作;当所述各行操作中存在更新操作时,生成对应的反向SQL语句为更新为原值的操作。
4.根据权利要求1所述的MySQL误操作回滚方法,其特征在于,所述操作记录日志为二进制日志。
5.根据权利要求1所述的MySQL误操作回滚方法,其特征在于,还包括:
当所述请求指令为指定指令时,在操作记录日志中抽取集合与表名为所述指定指令中包含二进制日志,解析所述二进制日志生成反向SQL语句;其中,如果所述指定指令未指定二进制日志的文件名,查找最新备份的操作记录日志中二进制日志的文件名,解析所述文件名匹配的二进制日志直到最新生成的二进制日志为止;如果所述指定指令指定二进制日志文件名,根据指定二进制日志文件名的起止时间与起止位置点,解析所述指定二进制日志直到指定的截止时间为止。
6.一种MySQL误操作回滚***,其特征在于,包括:
接收模块,用于当发生误操作后接收数据恢复的请求指令;其中,所述请求指令包含误操作所对应的起止时间与/或起止位置点;
获取模块,用于读取数据库中操作记录日志,获取行格式记载的关于误操作所在起止时间与/或起止位置点内的操作记录日志;
解析恢复模块,用于解析所述误操作在所述操作记录日志所对应的各行操作,根据各行所述操作生成反向SQL语句,在数据库执行反向SQL语句操作以恢复数据。
7.根据权利要求6所述的MySQL误操作回滚***,其特征在于,所述各行操作包括删除操作、更新操作与***操作。
8.根据权利要求7所述的MySQL误操作回滚***,其特征在于,当所述各行操作中存在删除操作时,生成对应的反向SQL语句为***操作;当所述各行操作中存在***操作时,生成对应的反向SQL语句为删除操作;当所述各行操作中存在更新操作时,生成对应的反向SQL语句为更新为原值的操作。
9.根据权利要求6所述的MySQL误操作回滚***,其特征在于,包括:
指定恢复模块,用于当所述请求指令为指定指令时,在操作记录日志中抽取集合与表名为所述指定指令中包含二进制日志,解析所述二进制日志生成反向SQL语句,执行反向SQL语句操作以恢复数据;其中,
未指定解析单元,用于如果所述指定指令未指定二进制日志的文件名,查找最新备份的操作记录日志中二进制日志的文件名,解析所述文件名匹配的二进制日志直到最新生成的二进制日志为止;
指定解析单元,用于如果所述指定指令指定二进制日志文件名,根据指定二进制日志文件名的起止时间与起止位置点,解析所述指定二进制日志直到指定的截止时间为止。
10.一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器;以及
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行指令,所述一个或多个处理器执行所述执行指令使得所述设备执行如权利要求1~5任一项所述的MySQL误操作回滚方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811331065.9A CN111176887A (zh) | 2018-11-09 | 2018-11-09 | MySQL误操作回滚方法、设备及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811331065.9A CN111176887A (zh) | 2018-11-09 | 2018-11-09 | MySQL误操作回滚方法、设备及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111176887A true CN111176887A (zh) | 2020-05-19 |
Family
ID=70653488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811331065.9A Pending CN111176887A (zh) | 2018-11-09 | 2018-11-09 | MySQL误操作回滚方法、设备及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111176887A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112416710A (zh) * | 2020-11-19 | 2021-02-26 | 京东数字科技控股股份有限公司 | 用户操作的记录方法、装置、电子设备及存储介质 |
CN112817798A (zh) * | 2021-02-26 | 2021-05-18 | 北京车和家信息技术有限公司 | 一种数据恢复方法、装置、介质和电子设备 |
CN116107816A (zh) * | 2023-04-13 | 2023-05-12 | 山东捷瑞数字科技股份有限公司 | 一种mysql数据库回档云平台 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030191782A1 (en) * | 2002-04-09 | 2003-10-09 | International Business Machines Corporation | Data recovery system |
CN102156720A (zh) * | 2011-03-28 | 2011-08-17 | 中国人民解放军国防科学技术大学 | 一种数据恢复的方法、装置和*** |
CN104951474A (zh) * | 2014-03-31 | 2015-09-30 | 阿里巴巴集团控股有限公司 | 一种用于获取MySQL binlog增量日志的方法和装置 |
CN105930500A (zh) * | 2016-05-06 | 2016-09-07 | 华为技术有限公司 | 数据库***中事务恢复的方法与数据库管理*** |
CN106547801A (zh) * | 2015-09-23 | 2017-03-29 | 北京奇虎科技有限公司 | 数据库数据闪回方法和装置 |
-
2018
- 2018-11-09 CN CN201811331065.9A patent/CN111176887A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030191782A1 (en) * | 2002-04-09 | 2003-10-09 | International Business Machines Corporation | Data recovery system |
CN102156720A (zh) * | 2011-03-28 | 2011-08-17 | 中国人民解放军国防科学技术大学 | 一种数据恢复的方法、装置和*** |
CN104951474A (zh) * | 2014-03-31 | 2015-09-30 | 阿里巴巴集团控股有限公司 | 一种用于获取MySQL binlog增量日志的方法和装置 |
CN106547801A (zh) * | 2015-09-23 | 2017-03-29 | 北京奇虎科技有限公司 | 数据库数据闪回方法和装置 |
CN105930500A (zh) * | 2016-05-06 | 2016-09-07 | 华为技术有限公司 | 数据库***中事务恢复的方法与数据库管理*** |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112416710A (zh) * | 2020-11-19 | 2021-02-26 | 京东数字科技控股股份有限公司 | 用户操作的记录方法、装置、电子设备及存储介质 |
CN112817798A (zh) * | 2021-02-26 | 2021-05-18 | 北京车和家信息技术有限公司 | 一种数据恢复方法、装置、介质和电子设备 |
CN116107816A (zh) * | 2023-04-13 | 2023-05-12 | 山东捷瑞数字科技股份有限公司 | 一种mysql数据库回档云平台 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11416344B2 (en) | Partial database restoration | |
CN110096476B (zh) | 数据备份方法、装置及计算机可读存储介质 | |
JP6219305B2 (ja) | アプリケーションデータを復元するためのシステム及び方法 | |
EP3158469B1 (en) | Scalable eventual consistency system using logical document journaling | |
US8250033B1 (en) | Replication of a data set using differential snapshots | |
US8793222B1 (en) | Systems and methods for indexing backup content | |
CN106663089A (zh) | 文档编辑的智能冲突检测和语义表达 | |
US8805777B2 (en) | Data record collapse and split functionality | |
US8271445B2 (en) | Storage, organization and searching of data stored on a storage medium | |
CN111324610A (zh) | 一种数据同步的方法及装置 | |
US11526465B2 (en) | Generating hash trees for database schemas | |
US20130275541A1 (en) | Reparse point replication | |
US20190121793A1 (en) | Data updating method and device for a distributed database system | |
CN111176887A (zh) | MySQL误操作回滚方法、设备及*** | |
CN111241203A (zh) | Hive数据仓库同步方法、***、设备及存储介质 | |
CN111046036A (zh) | 数据同步方法、装置、***及存储介质 | |
CN112214411A (zh) | 一种容灾***测试方法、装置、设备及存储介质 | |
US20230012642A1 (en) | Method and device for snapshotting metadata, and storage medium | |
CN111177141A (zh) | 利用MySQL并行复制恢复数据方法、设备及*** | |
CN117112522A (zh) | 并发进程日志管理方法、装置、设备和存储介质 | |
CN111241060A (zh) | 数据迁移方法、***、设备及存储介质 | |
CN111221817B (zh) | 业务信息数据存储方法、装置、计算机设备及存储介质 | |
US20210406321A1 (en) | Approximate nearest neighbor search engine | |
CN113779117A (zh) | 一种数据监控方法、装置、存储介质和电子设备 | |
Hakozaki et al. | A conceptual design of a generalized database subsystem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200519 |
|
WD01 | Invention patent application deemed withdrawn after publication |