MySQL无备份未开启二进制的日志,恢复数据库的数据
在数据库为备份的情况下,并且还没开启MySQL数据的二进制日志,那么恢复数据的难度就会大大增加,但经过我的实验,还是可以通过Java打印的日志恢复数据的。
恢复数据的环境为:
MySQL数据库+tomcat+Java后台+mybatis框架
具体方法是通过将Linux服务器上tomcat输出的日志筛选出来我们需要的,再将这些占位符SQL语句导入idea的mybatis日志插件中,转换成能直接运行的SQL语句
其中Linux筛选日志的命令为:
sed -n '/2019-12-13 09:20:01/,/2020-01-02 15:38:39/p' catalina.out >> bak.loggrep -A 5 'insert into' bak.log >> bak2.log
grep -A 5 'delete from' bak.log >> bak2.log
这几行命令的作用为:将catalina.out中的2019-12-13 09:20:01到2020-01-02 15:38:39日志导入到bak.log文件中,而后面的两条命令是将bak.log中的新增
和删除
的SQL语句这行和后5行追加输入到bak2.log文件中。
此时bak2.log中就基本上全部都是SQL语句了,这时就需要用到我们的idea中的mybatis日志插件(插件名称:MyBatis Log
),将这些全部复制到插件中,点击Resore Sql
按钮上成原始的可运行SQL。
此时我们就可以拿到一堆可以直接运行的SQL语句了,但是为了避免还有一些无用的查询SQL,我们可以把这些SQL语句复制到Notepad++或者Sublime等里面将这些不需要执行的SQL找出来,使用列编辑按照SQL的注释语法注释掉它们即可。
本文方法最大的问题是不方便将更新的SQL找出来,当然如果不怕麻烦,而且也有必要的话可以用
grep -A 5 'update 表名' bak.log >> bak2.log
命令将更新的SQL也导出来。以及本文到筛选日志给定了时间,因为我有2019-12-13的备份数据,因此我可以筛选到这一天。
当然,经过此役备份肯定是会做好的,也告诫大家备份一定要做好,我这次就是因为navicat的备份计划没有生效,导致我的备份缺失。备份要检查,这个习惯要养成啊。
MySQL无备份未开启二进制的日志,恢复数据库的数据相关推荐
- 通过sqlserver日志恢复误删除的数据
通过sqlserver日志恢复误删除的数据 原文:通过sqlserver日志恢复误删除的数据 如果你已经急的焦头烂额,看到这篇文章的时候,请你换个坐姿,深呼吸几次,静下心来将这篇文章读完,也许你的问题 ...
- 通过日志恢复MS SQL数据案例
[导读]本文介绍通过日志恢复MS SQL数据案例,以数据库的故障恢复改为非简单模式,去掉自动关闭和自动收缩两个选项为前提. 前提条件是数据库的故障恢复改为非简单模式,去掉自动关闭和自动收缩两个选项. ...
- mysql 二进制日志在哪_如何通过Mysql的二进制日志恢复数据库数据
经常有网站管理员因为各种原因和操作,导致网站数据误删,而且又没有做网站备份,结果不知所措,甚至给网站运营和盈利带来负面影响.所以本文我们将和大家一起分享学习下如何通过Mysql的二机制日志(binlo ...
- mysql 恢复 二进制,mysql通过二进制日志恢复数据库
一.打开主配置文件 添加以下参数 [root@db1 ~]# vim /etc/my.cnf server_id=6 # 服务id log_bin=/data/binlog/mysql-bin # ...
- MySQL使用二进制日志恢复数据库
一.二进制日志简介 MySQL有不同类型的日志,其中二进制文件记录了所有对数据库的修改,如果数据库因为操作不当或其他原因丢失了数据,可以通过二进制文件恢复. 在my.ini文件中设置了log-bin, ...
- 【黄啊码】MySQL入门—17、在没有备份的情况下,如何恢复数据库数据?
大家好!我是黄啊码,MySQL的入门篇已经讲到第16个课程了,今天我们继续讲讲大白篇系列--科技与狠活之恢复数据库 在没做数据库备份,没有开启使用 Binlog 的情况下,尽可能地找回数据. 今天的内 ...
- mysql-binlog日志恢复数据库
binlog日志用于记录所有更新了数据或者已经潜在更新了数据的所有语句.语句以"事件"的形式保存,它描述数据更改.当我们因为某种原因导致数据库出现故障时,就可以利用binlog日志 ...
- 使用全备+binlog日志恢复数据库
1.binlog日志类型 Statement 只记录执行的sql语句,磁盘占用少,但是恢复的时候容易出问题.InodeDB不能使用Statement . Row 记录修改后的具体数据,磁盘占用较多 M ...
- mysql中毒_2020-10-15 MYSQL中勒索病毒解密 .help 病毒解密恢复 数据库中.help 解密恢复 服务器被加密解密恢复...
数据类型 SQL 2005 for MYSQL 5.6 数据大小 10 GB 故障检测 服务器被勒索病毒加密, 文件被添加 .help 扩展名 修复结果 直接从加密的数据库处理完成恢复,数据恢复率达9 ...
最新文章
- 尹伊:用敏捷开发思维来成长!
- linux 程序自启
- DELL备份恢复系统的小工具 Dell DataSafe Local Backup
- 基于角色的权限设计(二)
- 厉害了!这支获得国家级荣誉的智能车队
- php 如何把u5fb,php如何将json中的unicode编码转为汉字?
- 人工智能:第九章 Agent (艾真体)
- LuoGuP4721:【模板】分治 FFT
- 一文说通Dotnet操作MongoDB GridFS
- 使用了visual assist.net
- Cass环境下光标无显示
- Python成员修饰符,metaclass,异常,反射,单例
- ofbiz中用 ajax 几点注意
- Rust手机端皮肤搜索、生成Rust专属名片、转盘概率模拟
- h5页面预览pdf文件_H5 页面如何查看 PDF 文件
- “一县一店·全国乡土消费社群”平台:助力乡村振兴农产上行
- 【LeetCode每日一题】1723. 完成所有工作的最短时间
- html导航页面滚动,可通过导航视图精确滚动页面内容的js插件
- WPF实现仿Glitch闪烁特效
- 字符串类型的算法面试