返回顶部
首页 > 资讯 > 数据库 >MySQL数据库误删回滚怎么解决
  • 119
分享到

MySQL数据库误删回滚怎么解决

2023-07-02 14:07:31 119人浏览 安东尼
摘要

这篇文章主要讲解了“MySQL数据库误删回滚怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Mysql数据库误删回滚怎么解决”吧!某次一不小心,用了delete from x

这篇文章主要讲解了“MySQL数据库误删回滚怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Mysql数据库误删回滚怎么解决”吧!

某次一不小心,用了delete from xxx 删除了几条重要数据,在网上找了很多方法,但都比较零散,打算记录本次数据找回的过程。
大致分为以下几步

查看binlog是否开启

# log_bin是ON,就说明打开了 OFF就是关闭状态,以下操作,只有为 ON 时有效。show variables like 'log_bin';

找到binlog文件名

show master logs;

运行以上代码,如下图 TS1-bin.000009 就是我们要找的文件名

MySQL数据库误删回滚怎么解决

查看binlog日志位置

show variables like '%datadir%';

根据上面得到的位置,去找到 TS1-bin.000009 文件

进入到mysql安装目录的bin目录下,执行以下命令根据误删除的时间范围从TS1-bin.000009文件导出成sql文件

mysqlbinlog --base64-output=decode-rows -v --database=数据库名 --start-datetime="2022-06-29 15:35:00" --stop-datetime="2022-06-29 15:45:00" C:/Users/Administrator/Desktop/TS1-bin.000009 > C:/Users/Administrator/Desktop/mysqllog.sql

这里我把 TS1-bin.000009 文件拷贝到了桌面,因为该文件原始存放路径有空格,导致命令执行失败,无法找到路径。
得到 mysqllog.sql 文件后,可以用记事本打开,搜索 DELETE 关键字,找到删除数据的记录

将 DELETE 语句改造成 INSERT 语句,在windows下用vbs来实现,把下面代码复制保存为:deleteToinsert.vbs 文件(一定要是.vbs格式文件) 与mysqllog.sql在同一目录下,然后双击运行,会生成mysqlloGoK.sql文件就是我们要的INSERT语句

'========================== '用VBS实现 MYSQL binglog DELETE转INSERT '========================== function replaceregex(patern,str,tagstr)     dim regex,matches     set regex=new regExp     regex.pattern=patern     regex.IgnoreCase=true     regex.global=true     matches=regex.replace(str,tagstr)     replaceregex=matches end function '======Mysql binlog DELETE转INSERT================'VBS打开文本文件Set oldStream = CreateObject("ADODB.Stream")oldStream.CharSet = "utf-8"oldStream.OpenoldStream.LoadFromFile("mysqllog.sql") 'binLog生成的DELETE原日志文件oldText = oldStream.ReadText()    newText=replace(oldText,"### DELETE FROM", ";INSERT INTO")    newText=replace(newText,"### WHERE", "SELECT")    newText=replace(newText,"###", "")    newText=replace(newText,"@1=", "")    newText=replaceregex("\@[1-9]=",newText, ",")    newText=replaceregex("\@[1-9][0-9]=",newText, ",")oldStream.Close'VBS保存文件Set newStream = CreateObject("ADODB.Stream")newStream.Type = 2 'Specify stream type - we want To save text/string data.newStream.Charset = "utf-8" 'Specify charset For the source text data.newStream.Open 'Open the stream And write binary data To the objectnewStream.WriteText newTextnewStream.SaveToFile "mysqllogOK.sql", 2 'DELETE转成INSERT以后的新的SQL文件名newStream.Close

拿到对应的 INSERT 语句后执行。

感谢各位的阅读,以上就是“MySQL数据库误删回滚怎么解决”的内容了,经过本文的学习后,相信大家对MySQL数据库误删回滚怎么解决这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL数据库误删回滚怎么解决

本文链接: https://lsjlt.com/news/342399.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MySQL数据库误删回滚怎么解决
    这篇文章主要讲解了“MySQL数据库误删回滚怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL数据库误删回滚怎么解决”吧!某次一不小心,用了delete from x...
    99+
    2023-07-02
  • MySQL数据库误删回滚的解决
    某次一不小心,用了delete from xxx 删除了几条重要数据,在网上找了很多方法,但都比较零散,打算记录本次数据找回的过程。大致分为以下几步 1、查看binlog是否开启 # log_bin是ON,就说...
    99+
    2022-06-30
    MySQL数据库误删回滚 MySQL 误删回滚
  • mysql 误删除数据-数据回滚
    mysql 误删除 本次使用的原美团开源Mysql 数据闪回工具 传送门:https://github.com/Meituan-Dianping/MyFlash 一,简介 MyFlash的前身是binlon...
    99+
    2024-04-02
  • mysql让数据库表的数据回滚,mysql如何回滚数据
    mysql不小心批量update,请问如何数据回滚 首先确定执行update语句时是否设置成的非自动提交,若设置了,直接rollback;若未设置,查看是否启用了二进制日志文件,若是,将其恢复到执行该时间点前;若未设置,那数据库层面就没办法...
    99+
    2023-09-21
    数据库 mysql java
  • 怎么解决MySQL误删数据问题
    本篇内容主要讲解“怎么解决MySQL误删数据问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么解决MySQL误删数据问题”吧!第一步:保证mysql已经开启...
    99+
    2024-04-02
  • mysql数据库删除怎么找回
    如何在 mysql 中恢复已删除的数据:检查二进制日志是否已启用,二进制日志记录数据库更改。找到包含已删除数据的二进制日志文件。使用 mysqlbinlog 工具解析二进制日志文件并提取...
    99+
    2024-08-05
    mysql 数据丢失
  • 误删数据库云服务器怎么解决
    如果不小心误删了数据库云服务器,可以考虑以下解决办法:1. 使用备份恢复:如果有数据库备份,可以通过备份文件进行恢复操作。恢复过程可...
    99+
    2023-09-22
    数据库 云服务器
  • MySQL数据库误操作后快速回滚的方法
    binlog2sql快速回滚 开源工具binlog2sql: 首先,确认你的MySQL server开启了binlog,设置了以下参数:(binlog + row模式) [mysqld] ...
    99+
    2024-04-02
  • oracle怎么回滚刚删除的数据
    oracle 中已删除数据可通过两种方式恢复:撤消表空间:使用 flashback 命令从存储已删除行副本的撤消表空间恢复数据。数据恢复点:使用 restore 命令从数据库特定时间保存...
    99+
    2024-04-18
    oracle
  • Mysql误删除数据库怎么恢复
    这篇文章主要讲解了“Mysql误删除数据库怎么恢复”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Mysql误删除数据库怎么恢复”吧! ...
    99+
    2024-04-02
  • mysql数据库误删除后怎么办
    小编给大家分享一下mysql数据库误删除后怎么办,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!首先,要确保mysql开启了binlog日志功能在/etc/my.cnf文件里的[mysqld...
    99+
    2024-04-02
  • MySQL删除数据库时出现错误ERROR 1010 (HY000)怎么解决
    本篇内容主要讲解“MySQL删除数据库时出现错误ERROR 1010 (HY000)怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL删除数据库时...
    99+
    2024-04-02
  • MySQL数据库中怎么恢复误删除数据
    本篇文章为大家展示了MySQL数据库中怎么恢复误删除数据,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1. 找到binlog恢复数据的前提是必须开启Mysql的bi...
    99+
    2024-04-02
  • MySQL数据库误删恢复
    前言        经常听说删库跑路这真的不只是一句玩笑话,若不小心删除了数据库,事情很严重。你一个不小心可能会给公司删没。建议研发不要直连生成环境,一般的话都会分配账号权限,生产环境的账号尽量是只读,以防你一个不经意给库或表删除。一定...
    99+
    2023-09-02
    数据库 sql
  • MYSQL Binlog恢复误删数据库详解
    对表误删或执行缺少条件的修改 SQL 导致修改了表内其他数据时,我们需要想办法将数据恢复回来。 先创建两个测试表 table_1 CREATE TABLE `table_1` ( `id` int(0) NOT N...
    99+
    2022-11-18
    MYSQL Binlog数据还原 MYSQL Binlog恢复数据
  • MySQL误删数据怎么办
    MySQL误删数据怎么办,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。首先看下MySQL误删数据排名最前的几种是:1.误删文件2.误删库、表3...
    99+
    2024-04-02
  • Linux下数据库文件被误删后怎么找回
    这篇文章主要讲解了“Linux下数据库文件被误删后怎么找回”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux下数据库文件被误删后怎么找回”吧!Linu...
    99+
    2024-04-02
  • mysql怎么删数据库
    这篇文章主要介绍“mysql怎么删数据库”,在日常操作中,相信很多人在mysql怎么删数据库问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql怎么删数据库”的疑惑有所帮...
    99+
    2024-04-02
  • oracle怎么回滚数据
    可以通过以下方式回滚 oracle 数据:使用 undo 表空间撤销未提交更改。使用 flashback 查询恢复特定时间点的数据。利用恢复点回滚到已知良好状态。使用数据库备份恢复数据(...
    99+
    2024-04-18
    oracle
  • mysql切换数据库出现错误怎么解决
    在MySQL中切换数据库时出现错误可能有多种原因,以下是一些常见的解决方法: 确保输入的数据库名称正确:在切换数据库时,需要输入...
    99+
    2024-04-09
    mysql 数据库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作