ERROR: Error in Log_event::read_log_event(): 'read error', data_len: 234781854, event_type: 2

来源:互联网 发布:mac下载软件在哪里下载 编辑:程序博客网 时间:2024/05/18 14:22

1.版本

1)操作系统

 cat /etc/issue
Red Hat Enterprise Linux Server release 5.5 (Tikanga)
Kernel \r on an \m

 cat /proc/version
Linux version 2.6.32-504.el6.x86_64 (mockbuild@c6b9.bsys.dev.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC) ) #1 SMP Wed Oct 15 04:27:16 UTC 2014

2)mysql数据库版本

mysql --version
mysql  Ver 14.14 Distrib 5.6.26, for linux-glibc2.5 (x86_64) using  EditLine wrapper


2.问题描述

   在使用mysqlbinlog执行如下命令的时候报错 mysql的binlog日志时报如下错误:

mysqlbinlog --start-position="845016601" --stop-position="845016721" --base64-output=decode-rows -v -v 3306-bin.000017 >testERROR: Error in Log_event::read_log_event(): 'read error', data_len: 234781854, event_type: 2 


3.问题分析

  网上很多案例都说是因为mysqlbinlog 版本问题导致的

cd /[root@all-middle-mysql-05 /]# find ./ -name mysqlbinlog./data/mysql/mysql-advanced-5.6.26-linux-glibc2.5-x86_64-2/bin/mysqlbinlog./data/mysql/mysql-advanced-5.6.26-linux-glibc2.5-x86_64/bin/mysqlbinlog./data/mysql/mysql3308/bin/mysqlbinlog./usr/bin/mysqlbinlog
##本机上有这些mysqlbinlog,但是这些mysqlbinlog版本都是一致的,我使用的是/usr/bin/mysqlbinlog

mysqlbinlog --versionmysqlbinlog Ver 3.4 for linux-glibc2.5 at x86_64

##我的库是5.6.26版本,使用的就是mysqlbinlog 3.4  而且如下的命令我执行是成功的,所以应该不是版本的问题

mysqlbinlog --start-datetime="2015-12-12 00:00:00" --stop-datetime="2015-12-12 00:30:00"  --base64-output=decode-rows -v -v  3306-bin.000017 >test


4.问题解决

  后来发现了问题,我想根据从库的sql线程报错(报错中包含 end_log_pos 845016721)中指定的end position 去分析日志,所以就根据end position往前推了一个start position,结果那个start position根本不存在,所以报错。我把--start-position参数去掉 上面报错的命令就执行成功了

mysqlbinlog --stop-position="845016721" --base64-output=decode-rows -v -v 3306-bin.000017 >test




0 0
原创粉丝点击