首页 > 数据库 >mysql binlog常用脚本(解析与反解析)

mysql binlog常用脚本(解析与反解析)

时间:2023-11-07 09:45:21浏览次数:33  
标签:11 binlog 00 10 datetime 2020 mysql my2sql 解析

 

解析binlog

方法1:mysqlbinlog

mysqlbinlog --no-defaults  --base64-output=decode-rows -vv  --database=dboop   --start-datetime='2020-10-11  00:00:00' --stop-datetime='2020-10-11  15:00:00'  mysql-bin.000075 >75.sql

 


常用参数
database:只列出该数据库下的binlog数据,但无法过滤由触发器执行的SQL。
base64-output=decode-rows -vv:显示具体 SQL 语句。
skip-gtids=true:忽略 GTID 显示。

  • 输出结果
# at 20001
#201011 12:04:09 server id 1  end_log_pos 20094 CRC32 0x2b305ac     Query    thread_id=53    exec_time=0    error_code=0
SET TIMESTAMP=1651011012/*!*/;
BEGIN
/*!*/;

上面输出包括信息:

  • position: 位于文件中的位置,即第一行的(# at 20001),说明该事件记录从文件第20001个字节开始
  • timestamp: 事件发生的时间戳,即第二行的(#201011 12:04:09)
  • server id: 服务器标识(1)
  • end_log_pos 表示下一个事件开始的位置(即当前事件的结束位置+1)
  • thread_id: 执行该事件的线程id (thread_id=53)
  • exec_time: 事件执行的花费时间
  • error_code: 错误码,0意味着没有发生错误
  • type:事件类型Query

方法2:my2sql

wget https://www.dboop.com/download/my2sqlv2

/data/my2sql/my2sqlv2   -user root -password 123456 -host 10.0.0.2   -port 3306  -databases dboop -tables test001   -mode repl -work-type 2sql  -start-file mysql-bin.000075 -start-datetime "2020-10-11 15:00:00" -stop-datetime "2020-10-11 15:20:00" -output-dir /data/my2sql/dbooptest/

 

反解binlog(误删数据)

  • 方法1:my2sql
wget https://www.dboop.com/download/my2sqlv2

/data/my2sql/my2sqlv2   -user root -password 123456 -host 10.0.02   -port 3306  -databases dboop -tables test001   -mode repl -work-type rollback  -start-file mysql-bin.000075 -start-datetime "2020-10-11 15:00:00" -stop-datetime "2020-10-11 15:20:00" -output-dir /data/my2sql/dbooptest/

-work-type 2sql

 

标签:11,binlog,00,10,datetime,2020,mysql,my2sql,解析
From: https://www.cnblogs.com/dbahrz/p/17814309.html

相关文章

  • 如何解决MySQL主从复制延时问题
    MySQL主从复制是面试中不可避开的重要一环,里面的知识点虽然基础,但是能回答全的同学不多,今天我们再来老生常谈一下。本文全文内容如下。  1.MySQL主从1.1什么是MySQL主从?MySQL主从复制是指数据可以从一个MySQL数据库服务器主节点复制到一个或多个从节点。MySQL......
  • mysql blob和text的区别
    一:主要区别TEXT与BLOB的主要差别就是BLOB保存二进制数据,TEXT保存字符数据。目前几乎所有博客内容里的图片都不是以二进制存储在数据库的,而是把图片上传到服务器然后正文里使用标签引用,这样的博客就可以使用TEXT类型。而BLOB就可以把图片换算成二进制保存到数据库中。二、类型区......
  • [翻译]——How the MySQL Optimizer Calculates the Cost of a Query (Doc ID 1327497
    本文是对这篇文章HowtheMySQLOptimizerCalculatestheCostofaQuery(DocID1327497.1)的翻译,翻译如有不当的地方,敬请谅解,请尊重原创和翻译劳动成果,转载的时候请注明出处。谢谢!适用于:MySQL4.0及后续更高的版本本文档中的内容适用于任何平台。目标了解MySQL优化......
  • [机器学习复习笔记] Linear Regression 线性回归(最小二乘法求解析解)
    LinearRegression1.一元线性回归定义一个一次函数如下:\[y=\theta_0+\theta_1x\]其中\(\theta\)被称为函数的参数。显然在坐标图上,这个函数的图像是一条直线,这也是线性回归中的线性含义所在。只有一个\(x\)来预测\(y\),就是用一条直线来拟合数据,即一元线......
  • 【工具包使用】解析txt标注文件
    前言 codeimportosdefparse_onedata(data):print('data:',data)info=data['info']image=data['image']valid=data['valid']rotation=data['rotation']categories=data[&#......
  • Debug - MySQL - Err 1062 duplicate entry xxxx for key xxx
    可能原因1脏数据存在 可能原因2当你手动刷sql修改表结构时,可能这张表正有写库操作。一边写库一边修改表结构,就会出现这种错误。。。原因未知,猜测和锁表有关系 两次错误提示:详细的数据是不一样的....而且日期是今天的,说明不是脏数据  等待写库程序结束,再刷表就没......
  • mysql 使用ON DUPLICATE KEY update实现插入或更新操作
    创建一个表CREATETABLE`userinfo`(`UserID`int(11)NOTNULL,`UserName`varchar(45)CHARACTERSETutf8COLLATEutf8_general_ciDEFAULTNULL,PRIMARYKEY(`UserID`))ENGINE=InnoDBDEFAULTCHARSET=utf8;想要实现,没有数据插入新数据,有数据更新数据首先......
  • Java中的NoClassDefFoundError报错解析
    半夜睡得正香的时候,突然接到警告电话,于是翻起身就打卡电脑连上环境查看是什么情况?登录上之后发现有个微服务占用的句柄数量一直在持续上涨,最终导致了微服务内存溢出挂掉了。这个微服务在运行的过程中会建立SSH连接,且之前这个微服务已经遇到过很多次类似的情况了,因此第一反应是哪里......
  • C#解析JSON字符串总结
    JSON文件读取到内存中就是字符串,.NET操作JSON就是生成与解析JSON字符串。操作JSON通常有以下几种方式:1.原始方式:按照JSON字符串自己来解析。 2.通用方式【★★★★★】:这种方式是使用开源的类库Newtonsoft.Json(下载地址http://json.codeplex.com/)。下载后添加dll引用就......
  • SQLserver、MYSQL、Oracle复制表结构和数据语句
    1.SQLserver语法select*into新表名from旧表名;2.mysql语法CREATETABLE新表名SELECT*FROM旧表;Oracle语法CREATETABLE新表ASSELECT*FROM旧表;......