binlog分析方法
线上处理问题的时候经常遇到业务说写入了但是数据不对,这种情况八成是业务改了之后又改过来了。但是我们需要证据,下面我们就说说简单的binlog分析
工具:mysqlbinlog
#-vvv显示明文sql内容方便查阅 #start-datetime分析开始时间 #stop-datatime分析结束时间 #-d数据库名称 #mysql-bin.000001 二进制文件 $mysqlbinlog -vvv --start-datetime= '2018-11-15 18:47:00' --stop-datetime= '2018-11-15 18:59:01' -uxxxxx --socket= /export/data/mysql/tmp/mysql .socket --port=3358 -d xxxxx mysql-bin.000001 > 1.txt #通过执行以上命令就可以获取这个时间段里面的binlog信息 |
以下是部分解析出来的内容,文件里面有时间戳,可以根据时间戳就判断某个操作是否执行
# at 590290541 #181115 18:47:00 server id 23083726 end_log_pos 590290606 CRC32 0x644652ac GTID last_committed=210987 sequence_number=210988 rbr_only=yes /*!50718 SET TRANSACTION ISOLATION LEVEL READ COMMITTED *//*!*/; SET @@SESSION.GTID_NEXT= 'd2eabe2a-d5cb-11e8-a72a-fa169c5fc76e:191960' /*!*/; # at 590290606 #181115 18:47:00 server id 23083726 end_log_pos 590290695 CRC32 0xcdd93a59 Query thread_id=95124 exec_time=0 error_code=0 SET TIMESTAMP =1542278820/*!*/; SET @@session.pseudo_thread_id=95124/*!*/; SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/; SET @@session.sql_mode=1073741824/*!*/; SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/; /*!\C utf8mb4 *//*!*/; SET @@session.character_set_client=45,@@session.collation_connection=45,@@session.collation_server=45/*!*/; SET @@session.time_zone= 'SYSTEM' /*!*/; SET @@session.lc_time_names=0/*!*/; SET @@session.collation_database= DEFAULT /*!*/; BEGIN /*!*/; # at 590290695 #181115 18:47:00 server id 23083726 end_log_pos 590291436 CRC32 0xf28f1bd8 Rows_query # insert into xxxxx(do_no, group_key, wave_strategy, auto_able, expect_pick_time, partitions, loc_code_list, priority, wms_sku_list, merge_no, weight, volume, area_id, area_name, latitude, longitude, wh_id, tenant_id, uuid, create_time, wh_name, wh_code, expect_arrive_starttime, expect_arrive_endtime, do_create_date, genera_source, extend_data) values ( '65000372273101' , 'sell_default' , 0, 1, '2018-11-15 19:18:00' , null , '[\"36518\",\"40001\"]' , 5, '[1007116,1002291,1011345]' , null , 4.580, 14178.416, 200030, '褐石园区' , '40.016893' , '116.322341' , 131231, 1, '65000372273101-1' , now(), '五彩城店' , 'WCC' , '2018-11-15 19:30:00' , '2018-11-15 20:15:00' , '2018-11-15 18:47:00' , 'AI' , '{\"workFood\":\"1\"}' ) # at 590291436 #181115 18:47:00 server id 23083726 end_log_pos 590291571 CRC32 0x3a2c02ea Table_map: `xxxxxx`.`wms_ai_do` mapped to number 262 # at 590291571 #181115 18:47:00 server id 23083726 end_log_pos 590291874 CRC32 0x8f14b7cb Write_rows: table id 262 flags: STMT_END_F |
binlog分析方法的更多相关文章
- Android APP性能分析方法及工具
近期读到<Speed up your app>一文.这是一篇关于Android APP性能分析.优化的文章.在这篇文章中,作者介绍他的APP分析优化规则.使用的工具和方法.我觉得值得大家借 ...
- Linux下java进程CPU占用率高分析方法
Linux下java进程CPU占用率高分析方法 在工作当中,肯定会遇到由代码所导致的高CPU耗用以及内存溢出的情况.这种情况发生时,我们怎么去找出原因并解决. 一般解决方法是通过top命令找出消耗资源 ...
- Mysql 死锁的详细分析方法
用数据库的时候,偶尔会出现死锁,针对我们的业务系统,出现死锁的直接结果就是系统卡顿.客户找事儿,所以我们也在想尽全力的消除掉数据库的死锁.出现死锁的时候,如果只是想解锁,用show full proc ...
- 面向对象分析方法(I)
找出最关键的一些业务场景:一般通过动词来寻找,比如招聘系统中,一个应聘人投递一个职位就是一次应聘,应聘就是一个业务场景:一个学生参加某门课的考试,那么考试就是一个业务场景:一个学生去图书馆借书,那么借 ...
- Linux内核源码分析方法
一.内核源码之我见 Linux内核代码的庞大令不少人“望而生畏”,也正因为如此,使得人们对Linux的了解仅处于泛泛的层次.如果想透析Linux,深入操作系统的本质,阅读内核源码是最有效的途径.我们都 ...
- 删除binlog的方法
不知道你有没有为mysql的binlog占用大量磁盘感到无奈,my.cnf里binlog的size可以设置多大做分割,但没有看到删除的配置,在mysql里show了一下variables, mysql ...
- Java内存溢出分析方法(Eclipse Memory Analyzer 使用简单入门)
转载至:http://outofmemory.cn/java/jvm/OutOfMemoryError-analysis 工具 安装Memory Analyse Tools(MAT) 工具, 可以直接 ...
- mysql中删除binlog的方法?mysql中如何删除binlog?
需求描述: 在mysql中如何删除binlog,因为随着数据库的运行,mysql中产生的binlog会越来越大,有可能把磁盘撑爆了,所以记录下删除 binlog的方法. 操作过程: 1.通过系统参数控 ...
- Linux内核源代码分析方法
Linux内核源代码分析方法 一.内核源代码之我见 Linux内核代码的庞大令不少人"望而生畏",也正由于如此,使得人们对Linux的了解仅处于泛泛的层次.假设想透析Linux ...
随机推荐
- Java 关于finally、static
论坛上看到的两道题目,如下: //为啥运行结果是1 0 不是 0 0呢 谁能解释下啊 public class FinallyDemo { static int value = 0; static i ...
- e642. 处理拖放事件
The drop target in this example only accepts dropped String objects. A drop target must implement Dr ...
- e558. 在Applet中多图片交互显示
This is the simplest applet to animate an array of images. In practice, you should use double-buffer ...
- 用X264编码以后的H264数据
输入的数据准备好了,编码后的数据都在x264_nal_t的数组.我这里设置的参数是Baseline Profile,所以编码后没有B帧,将编码后的数据保存分析后发现,第一次编码的时候会有4个NAl,分 ...
- 【Java面试题】35 List, Set, Map是否继承自Collection接口?
Collection是最基本的集合接口,声明了适用于JAVA集合(只包括Set和List)的通用方法. Set 和List 都继承了Conllection:Set具有与Collection完全一样的接 ...
- MathType使用中的四个小技巧
MathType是一种比较常见的数学公式编辑器,常常与office搭配着使用,我们在使用的时候有一些要注意的小技巧,下面我们就来给大家介绍介绍MathType使用中的四个小技巧? 技巧一:调整工具栏显 ...
- java编写的2048程序
import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.io.*; import java.util ...
- Dubbo(四) -- telnet命令
一.telnet的作用 当dubbo服务(即生产者)发布之后,我们可以通过telnet命令来来进行调试和管理,以及跟踪服务调用的次数. 注意:2.0.5以上版本服务提供端口支持telnet命令,协议一 ...
- Dubbo(一) -- 初体验
Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,是阿里巴巴SOA服务化治理方案的核心框架. 一.Dubbo出现的背景 随着互联网的发展,网站应用的规模不断扩大,常规的 ...
- UE4修改自Rama的UDP通信蓝图插件
UE4.15没有提供蓝图UDP的组件,可以在网上找到一个ID叫Rama写的源代码,我把它封装成插件了(MyUdpPlugin),方便在各个UE4版本工程中使用UDP通信. 使用方式: 1.在自己的工程 ...