ERROR: Error in Log_event::read_log_event()

分析从库1062问题,解析从库binlog日志,报错如下

[root@xxxdb0402 tmp]# mysqlbinlog mysql-bin.004271 > 4.log
ERROR: Error in Log_event::read_log_event(): 'read error', data_len: 438, event_type: 2
[root@xxxdb0402 tmp]# grep  'rding' 4.log > rd4.log
[root@xxxdb0402 tmp]# ll rd4.log
-rw-r--r-- 1 root root 0 Sep  3 17:50 rd4.log
空的,第四个日志没有录入操作

奇怪报错了,google之,3种方案

1 写全路径

[root@xxxdb0402 tmp]# /opt/mysql/product/5.5.25a/bin/mysqlbinlog mysql-bin.004271 > 4.log
ERROR: Error in Log_event::read_log_event(): 'read error', data_len: 438, event_type: 2
[root@xxxdb0402 tmp]# whereis  mysqlbinlog
mysqlbinlog: /usr/bin/mysqlbinlog
[root@xxxdb0402 tmp]# /usr/bin/mysqlbinlog mysql-bin.004271 > 4.log
/usr/bin/mysqlbinlog: Character set '#45' is not a compiled character set and is not specified in the '/usr/share/mysql/charsets/Index.xml' file
ERROR: Error in Log_event::read_log_event(): 'read error', data_len: 438, event_type: 2

2 加-f强制解析

[root@xxxdb0402 tmp]# mysqlbinlog -f mysql-bin.004271 > 4.log
ERROR: Error in Log_event::read_log_event(): 'read error', data_len: 438, event_type: 2

3 这个copy过来的日志的时候,db正往日志里面写数据呢,从新copy下binlog到/tmp下。

那就重新copy一次binlog,再解析
[root@xxxdb0402 tmp]# cp /mysqldata/data/mysql-bin.004271 /tmp/
cp: overwrite `/tmp/mysql-bin.004271'? y
[root@xxxdb0402 tmp]# /opt/mysql/product/5.5.25a/bin/mysqlbinlog mysql-bin.004271 > 4.log
ERROR: Error in Log_event::read_log_event(): 'read error', data_len: 438, event_type: 2

3种方案都报一样的错误。Mysql版本5.5.25a。linux环境centos6.0

这个问题如何搞定,比较诡异?


朋友建议直接在mysql的数据目录之下用mysqlbinlog试下

[root@xxxdb0402 data]# /opt/mysql/product/5.5.25a/bin/mysqlbinlog -f mysql-bin.004271 > 4.log
ERROR: Error in Log_event::read_log_event(): 'read error', data_len: 438, event_type: 2

结果还是一样的报错。

(0)

相关推荐

  • ERROR: Error in Log_event::read_log_event()

    分析从库1062问题,解析从库binlog日志,报错如下 [root@xxxdb0402 tmp]# mysqlbinlog mysql-bin.004271 > 4.logERROR: Error in Log_event::read_log_event(): 'read error', data_len: 438, event_type: 2[root@xxxdb0402 tmp]# grep  'rding' 4.log > rd4.log[root@xxxdb0402 tmp]# ll

  • Last_Errno: 1062,Last_Error: Error Duplicate entry

    线上环境我从来没有碰到过1062的问题,测试环境开发环境不停的出现类似问题,以往为了赶时间都是skip或者直接重新做,这会有时间,就好好去查查问题所在 1 从库报错信息: mysql> show slave status\G*************************** 1. row ***************************               Slave_IO_State: Waiting for master to send event             

  • 设置默认Ajax操作cache and error

    复制代码 代码如下: // 设置Ajax操作的默认设置     $.ajaxSetup({         cache: false,          error: function (XMLHttpRequest, textStatus, errorThrown) {             if( typeof(errorThrown) != "undefined" )                 $.messager.alert(g_MsgBoxTitle, "调

  • ASP 三层架构 Error处理类

    从这节开始,将会给大家介绍几个ASP中的三大通用类,它贯穿于我所设计的三层架构中,是对ASP语法的扩展,可以提高很多细节处理上的效率,可以算是一点点框架的味道. 本节介绍错误处理类,类名Con_Error,在代码页面之初就进行初始化,实例名为e,以下的e.add 即使用该错误类的实例化对象进行操作. 方法介绍: e.Add(ByVal vErrorMessage ) 记录一个错误,并且设置 e.Error = true . 在程序检测用户名合法性等地方发现错误时,就调用这个方法,记录一个错误信息

  • rsync @ERROR: chdir failed 的解决方法

    CwRsyncServer在windows 2003 server上遇到这样的问题: @ERROR: chdir failed rsync error: error starting client-server protocol (code 5) at main.c(1495) [rec eiver=3.0.2] 解决办法一: 1)新建一个目录比如, 进入 开始菜单>cwRsync Server>Prep a Dir for Upload, 选择D:\folder1 ,确定 2)右键点击fol

  • Rsync ERROR: auth failed on module解决方法

    示意图: Rsync 版本 [root@mail video]# rsync –version rsync version 3.0.6 protocol version 30 Copyright (C) 1996-2009 by Andrew Tridgell, Wayne Davison, and others. Web site: rsync.samba.org Capabilities: 64-bit files, 64-bit inums, 64-bit timestamps, 64-b

  • mac os gem安装json出现error failed的解决办法

    升级到最新的mac os Mavericks.装json出现错误: 复制代码 代码如下: gem install json -v '1.8.1' Building native extensions.  This could take a while... ERROR:  Error installing json:   ERROR: Failed to build gem native extension. /usr/local/var/rbenv/versions/2.0.0-p247/bi

  • php中error与exception的区别及应用

    error与exception的区别查阅网上资料大多是java的解释,貌似php的异常处理过程与java差不多 java中的Object继承结构如下: Object---->Throwable--------> Exception ----> RuntimeException | Error Error都是unchecked类型 Exception分为checked 与 unchecked类型 且把异常与错误都当作程序运行不正常的现象来看待 如果区分异常与错误的话: 异常:非致命的.tr

  • Logger.error打印错误异常的详细堆栈信息

    一.问题场景 使用Logger.error方法时只能打印出异常类型,无法打印出详细的堆栈信息,使得定位问题变得困难和不方便. 二.先放出结论 Logger类下有多个不同的error方法,根据传入参数的个数及类型的不同,自动选择不同的重载方法. 当error(Object obj)只传入一个参数时会将异常对象作为Object使用,并最终当做String打印出来,当使用两个参数error(String message, Throwable t),且第二个参数为Throwable时,才会将完整的异常堆

  • 浅谈Go语言的error类型

    error类型是go语言的一种内置类型,使用的时候不用特定去import,他本质上是一个接口 type error interface{ Error() string //Error()是每一个订制的error对象需要填充的错误消息,可以理解成是一个字段Error } 怎样去理解这个订制呢? 我们知道接口这个东西,必须拥有它的实现块才能调用,放在这里就是说,Error()必须得到填充,才能使用. 比方说下面三种方式: 第一种:通过errors包去订制error error := errors.N

随机推荐