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 ...
随机推荐
- Spring 4 官方文档学习(十一)Web MVC 框架之themes
http://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html#mvc-themeresolver ...
- Spring 4 官方文档学习(十一)Web MVC 框架之Flash Attributes
接上一篇中的重定向. http://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html#mvc-fl ...
- Eclipse/MyEclipse全屏插件
此插件可以让Eclipse/MyEclipse的界面全屏,隐藏菜单栏和状态栏! MyEclipse 2014/2015中亲测有效! 插件下载: http://files.cnblogs.com/got ...
- 【Java 线程的深入研究1】Java 提供了三种创建线程的方法
Java 提供了三种创建线程的方法: 通过实现 Runnable 接口: 通过继承 Thread 类本身: 通过 Callable 和 Future 创建线程. 1.通过实现 Runnable 接口来 ...
- ActiveMQ-5.13.0集群
ActiveMQ集群介绍 ActiveMQ具有强大和灵活的集群功能,但在使用的过程中会发现很多的缺点,ActiveMQ的集群方式主要由两种:Master-Slave(ActiveMQ5.8版本已不可用 ...
- jquery-插入兄弟元素
1.after方法 在匹配元素集合中的每个元素的 后面 插入参数所指定的内容,作为其兄弟节点 参数类型说明: 1)普通字符串(可包含各种html标签) $('div').after('html字符串' ...
- SharePoint 2013 workflow cannot start automatically when you logged in site as a system account
I have created one simple workflow on custom list using SharePoint designer 2013.While designing wor ...
- kendo-ui的使用和开发自己的组件
摘要: 前面介绍了一款非常不错的前端框架kendo-ui,如果你想阅读,请点这里.通过使用它一段时间,感觉是非常好用.下面就介绍一下如何使用它和开发自己的组件 引入: 只需要引进下面三个文件即可 ke ...
- [Extjs] Ext4 Ext.grid.Panel 分页实现(mybatis 分页插件-PageHelper 使用)
先看图: 页面js代码: var userStore=Ext.create('Ext.data.Store', { storeId:'userStore', fields:['uname', 'ema ...
- 怎样设置table中td的高度为1px
在制作edm时会遇到须要设置td的高度为1px,假设td标签中有 时不管你怎么设置td的高度都没用,最小高度都是18px. 这时须要把表格中的 去掉.例: 原来是这种: <tr> < ...