系统错误导致3天中的部分数据被错误覆盖,只能从MYSQL的binlog中恢复数据。
1、使用mysqlbinlog工具将binlog文件转换为sql文件:
mysqlbinlog sd-bin.000040 > a.sql
mysqlbinlog sd-bin.000041 >> a.sql
2、遍历a.sql的所有语句:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class SQLparser {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
if (args == null || args.length != 1) {
System.out.println("error on args");
return;
}
File file = new File(args[0]);
if (!file.isFile()) {
System.out.println("error arg[0] not a file");
return;
}
System.out.println(file.getName() + "BEGIN!");
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream(new File("d:\\parsed.sql")), "utf-8"));
BufferedReader br = new BufferedReader(new InputStreamReader(
new FileInputStream(file), "utf-8"/* 指定源文件的字符集编码 */));
String line = br.readLine();
while (line != null) {
if (line.contains(", c_dzd.voucher='"/* 匹配需要留下的SQL片段 */)) {
System.out.println(line);
bw.append(line + ";\n"/* 追加分号和换行 */);
}
line = br.readLine();
}
br.close();
bw.close();
System.out.println(file.getName() + "OK!");
}
}
分享到:
相关推荐
当发生误删、误增、误改时,它可以帮助我们从binlog中快速定位到误操作的重做语句(redo sql),同时推理出回滚语句(undo sql)。此外,它还可以结合[mysqld]的init-connect参数做mysql 8.0的数据库审计。 一. 对dml...
不会记录SELECT和SHOW这类操作,因为这类操作对数据本身并没有修改,但可以通过查询通用日志来查看MySQL执行过的所有语句。 需要注意的一点是,即便update操作没有造成数据变化,也是会记入binlog。 binlog有两个...
MySQL Binlog Digger是一个基于图形界面的MySQL Binlog挖掘分析工具,可以为数据恢复提供undo sql回滚语句,它免安装,能对在线binlog与离线binlog进行分析,在选定在线binlog(甚至分析到最新日志)或离线binlog日志...
mysql-binlog是MySQL数据库的二进制日志,用于记录用户对数据库操作的SQL语句((除了数据查询语句)信息。可以使用mysqlbin命令查看二进制日志的内容。 binlog 的作用 用于数据库的主从复制及数据的增量恢复。 ...
mysqlbinlog和binlog2sql的使用及mysql通过binlog日志恢复数据库数据
mysql服务设置; mysql数据库登录;使用binlog2sql工具进行数据bin查询, 数据恢复、操作撤销等;
利用binlog恢复库表,要求如下: 1. 启用binlog日志 2. 创建db1库tb1表,插入3条记录 3. 删除tb1表中刚插入的3条记录 4. 使用mysqlbinlog恢复删除的3条记录
MySQL Binlog Digger 4.19安装包,mysql日志回滚、解析、挖掘、支持离线在线 支持解析全sql字段语句
my2sqlgo版MySQL binlog解析...分析主库执行SQL语句除了支持常规数据类型,对大部分工具不支持的数据类型做了支持,比如json、blob、text、emoji等数据类型sql生成产品性能对比binlog2sql当前是业界使用最广泛MySQL回
简单好用的mysql binlog查看工具 采集于网络。
赠送jar包:mysql-binlog-connector-java-0.21.0.jar; 赠送原API文档:mysql-binlog-connector-java-0.21.0-javadoc.jar; 赠送源代码:mysql-binlog-connector-java-0.21.0-sources.jar; 赠送Maven依赖信息文件:...
生产上误删数据、误改数据的现象也是时常发生的现象,作为 DBA 这时候就需要出来补锅了,最开始的做法是恢复备份,然后从中找到需要的数据再进行修复,但是这个时间太长了,...从 binlog 生成标准 SQL,带来的衍生功能
利用binlog还原sql或者恢复数据python工具binlog2sql
先私信后购买,解析binlog利器,回滚恢复误删除数据
通过binlog得到恢复数据的sql语句.md
当发生误删、误增、误改时,它可以帮助我们从binlog中快速定位到误操作的重做语句(redo sql),同时推理出回滚语句(undo sql)。此外,它还可以结合[mysqld]的init-connect参数做mysql 8.0的数据库审计。
本文主要通过实际操作说明对binlog日志恢复MySQL数据库删除数据的方法进行说明,内容主要包括MySQL数据库binlog日志查询、恢复等相关介绍,希望对大家在工作及生活中遇到的此类问题有所帮助,如需操作指导,可留言!
个人整理,mysql binlog 日志恢复