MySQL数据库中误操作删除数据的恢复问题
来源:好兔宠物网
MySQL数据库中误操作删除数据的恢复问题 王晓燕 (宿迁开放大学 宿迁 223800) 摘要 本文介绍了MySQL数据库中的误操作删除数据的恢复问题,简要阐述了如何使用基于MySQL中binlog做到类似于闪 回或者生成反向操作的SQL语句来实现MySQL数据库中的误操作删除数据的恢复问题。 关键词 MySQL 删除 恢复 中图分类号TP392 文献标识码B 文章编号6351 Recovery Problem of Data Deleted by Error in MySQL Database Wang Xiaoyan (Suqian Open University Suqian 223800) Abstract This paper introduces the recovery of accidentally delete data from the MySQL database problems,briefly expounds how to use based on MySQL binlog do similar to flshbacks or agenerate SQL statements to implement reverse operation recovery of accidentally delete data rfom the MySQL database. Keywords MySQL Delete Restore ver的的事务日志。但是SQL Server的事务13 对于MySQL数据库中的误操作删除数据的恢复问题,可 等同于SQLSer以使用基于MySQL中binlog做到类似于闪回或者生成反向 志正的二进制内容的,微软官方也没有提供解析的方法, 操作的SQL语句来实现,是MySQL中一个非常实用的功能。 而在MySQL中则可以通过mysqlbinlog来解析出来这个El 原理不难理解,基于MySQL的row格式的binlog中,记 志中的内容。 录历史的增删改SQL信息,基于此解析出来对应的SQL语 句(回滚的话就是反向的SQL语句)。 在格式为binlog格式为row的日志模式下,binlog中的 知道binlog中的内容,就可以基于这个binlog来实现各 种实用的功能,典型的就是误删数据的还原操作。 binlog2sql需要语句pip安装,所以需要先安装pip。完 内容记录了数据库中曾经执行的增删改信息,都是包含了 成了binlog2sql之后,就可以使用它来实现数据的还原操作 反向信息的比如执行delete from table where pk_id=1;按照 了,如下是模拟一个误操作的恢复: 主键来删除一条记录。 在开启了binlog,日志格式为row的测试数据下,对于 对应的binlog中的sq1语句‘为:delete from table where 测试表tesL01,分别执行以下sq1语句 e=pkid=1 and naHl_‘x】【)【’and othercolumn=‘xxx’:where _insert into test_01 values(1, aaa’); insert into test_01 values(2,’bbb’); 条件不仅仅是原始语句的Id,而且还包括中这一行所有的 字段的信息的update操作也同理,不但记录了update操作, 同时记录了update记录在更新之前的每一个字段的值。这 insert into test 01 values(3,’CCC’); 一以下误操作,更新了全部数据 _样就可以利用这个日志来生成反向操作信息。 如使用mysqlbinlog工具可以解析出一个MySQL中典型 update test01 set nalTle=‘xxx’; 通过show master logs;找到当前的binlog文件,对应的 的binlog日志文件的部分内容,可以清楚地看到执行过的 sq1语句的执行就存储在当前这个binlog中,binlog2sql的目 sql语句的信息。对于MySQL中基于bin_log的一些应用,比 标就是这个文件。 如复制或者数据库还原,其实就是重复执行某个数据库上 的历史执行过的增删改SQL语句来实现的。 MysQL的biIIlog作用记录事务语句的作用上,基本上 —执行:python binlog2sq1.PY—h127.0.0.1一P3306一uroot P’root’一ddb0l-t test01一start-file=’binlog.000021 _(更 (下转第61页) 办公囱动化杂志 45‘ 同时也加剧了各大医院的医疗负担。电子病历系统的广泛 大幅度提升临床诊断的精准性,又能够深入剖析同类疾病 应用,能够为疑难重症患者提供距离最近最优治疗的途 不同症状患者的诊断方式,从而使主治医师做出最佳临床 径,还能够规范不同级别医院之间的双向转诊、双向交流, 诊治方案,甚至还能发现更加有效的治疗方法。从而避免了不必要的重复检查和过度治疗,有利于实现小 病在社区、大病进医院,困难杂症提前治疗、急诊在省市医 三、结束语 目前,医疗卫生领域信息化建设正进入高速发展期,为 院,后期修养治疗返区的就近诊治,从而大幅度减少患者 进一步提高医疗机构信息化建设水平,2018年4月国家卫 住院时间,节省病患的医疗成本,减轻各医院的诊治负担, 生计生委医院管理研究所发布《关于<电子病历系统功能 提高医疗卫生领域的资源利用水准。 应用水平分级评价方法及标准(修订征求意见稿)>公开征 3、提高公共医疗卫生服务效率 求意见的通知》,这对推动医院整体信息化建设,加速开展 新时代的大数据技术不仅能够整合、收集海量的信息, 医疗大数据整合以及应用领域具有重要的意义 。大数据 并且能够对这些信息进行分析与处理,利用各种智能技术 环境下,电子病历档案、医疗信息资源建设与医学各项基 挖掘出具有价值的信息,来实现信息的价值增值。由于我 础设施建设同等重要,医学数据不仅对整个医学领域的发 国的医疗服务体系还普遍呈现出各种棘手现象,例如医疗 展具有强大推动作用,而且关乎着人类的健康成长。运用 设备配置不均衡、服务普及性不高、医疗卫生资源相对分 大数据理念存储管理和开发利用电子病历档案信息资源, 散与医疗信息共享利用困难等。运用大数据技术,能够对 大大地推动我国医疗卫生事业的创新发展。 医疗“大数据”中存储的信息资源进行分析处置,提炼萃取 出有效防控流行病爆发的预警信息,为医疗卫生防疫工作 参考文献 提供有价值的大数据信息支撑。在医疗大数据背景下,医 【l】田伟,韩海涛.大数据时代档案馆服务创新研究【J】. 疗信息化建设必然会打破“信息孤岛”,推动医疗信息共 档案学研究,2o14(05):64—67. 享,提高公共医疗卫生服务效率。 【2]李娜.国外电子病历档案发展现状[J].档案学通讯, 4、临床诊断更精准高效 2010(05):87—90. 在一般医疗诊断中,主治医师需要利用患者的检查结 【3】余本功.基于HL7标准的电子病历(EMR)研究【D】. 果才能做出下一步行动计划,但由于通常一张CT所含数 合肥工业大学,2005。 据大概有150MB的信息含量,而且一份医疗影像传送到医 【4】计算机行业动态报告:医疗rI1修订电子病历评级标 生的手里是非常费时的。一般来说,一个患者的CT影像多 准推动医疗大数据发展[EB/OL].[2018-4一lO]http://www.cfi. 达上千幅,如果采用云计算中的云存储技术调取2000幅 net.en/p20180408001072.html CT影像只需几十秒,再利用大数据分析技术,就能够使临 作者简介 床治疗效果愈加精准高效。在大数据技术支撑下,选取关 朋礼青:安徽人,安徽大学在读硕士研究生,研究方向: 联性数据进行提炼挖掘,既有利于提取疾病的关键要素, 档案学,单位:安徽大学管理学院。 (上接第45页) 多参数以及使用方式参考下文链接),通过binlog2sql来解 的操作就是upfate update update delete deletedelete,这样一 析当前的binlog文件,解析出来的SQL语句就是正常SQL 来,可以根据具体的情况,截取生成的反向的sql语句,进 语句的执行(insert insertinsert update(3行记录)) 行误操作的还原。 执行:python binlog2sq1.PY—h127.0.0.1一P3306一uroot 以上操作注意安装的binlog2sql的路径问题,如果路径 -p’root’一ddb01一t test_O1一start—file=’binlog.000021 一B. 不对,找不到binlog2sq1.PY,上述命令也就无法执行。 通过一B参数生成反向的操作信息 加参数一B解析出来的SQL语句与上面的SQL语句刚 作者简介 好相反,包括顺序,也即以倒序的方式生成反向的操作 王晓燕(1980年9月一),女,江苏省宿迁开放大学计算 原始操作是insert insertinsert updme updateupdate,反向 机专业教师,研究方向:数据库。 办公自动化杂志 61.
因篇幅问题不能全部显示,请点此查看更多更全内容