1.版本

1)操作系统

 cat /etc/issue
cat /etc/issue
CentOS release 6.6 (Final)
Kernel \r on an \m

 cat /proc/version
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分析binlog日志时,报如下错误:

[root@localhost log]# mysqlbinlog --start-datetime="2016-12-06 10:00:00" --stop-datetime="2016-12-6 10:50:00"  --base64-output=decode-rows -vvv  3306-bin.000040 >test.sql
ERROR: Error in Log_event::read_log_event(): 'Sanity check failed', data_len: 147, event_type: 30


3.问题分析

1)检查数据库版本

mysql> select version();
+------------+
| version()  |
+------------+
| 5.6.26-log |
+------------+
1 row in set (0.01 sec)
2)检查mysqlbinlog版本

 which mysqlbinlog
/usr/bin/mysqlbinlog
You have new mail in /var/spool/mail/root
[root@localhost log]# mysqlbinlog --version
mysqlbinlog Ver 3.3 for redhat-linux-gnu at x86_64
##我们发现数据库版本是5.6,但是mysqlbinlog 版本是3.3(5.6 对应的mysqlbinlog应该是3.4),所以应该是使用了低版本的mysqlbinlog导致的问题

3)使用3.4版本mysqlbinlog再次分析binlog日志

/usr/local/mysql/bin/mysqlbinlog --version
/usr/local/mysql/bin/mysqlbinlog Ver 3.4 for linux-glibc2.5 at x86_64
[root@localhost log]# /usr/local/mysql/bin/mysqlbinlog --start-datetime="2016-12-06 10:00:00" --stop-datetime="2016-12-6 10:50:00"  --base64-output=decode-rows -vvv  3306-bin.000040 >test.sql
[root@localhost log]# 
使用3.4版本的mysqlbinlog,未报错。

##后来发现该环境上装了两个版本的mysql,5.1和5.6,而环境变量配置的是5.1的路径,所以我们默认使用的是5.1版本数据库的工具,所以导致报错。





GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐