码迷,mamicode.com
首页 > 数据库 > 详细

mysqlbinlog查看日志报错

时间:2017-04-29 01:18:35      阅读:255      评论:0      收藏:0      [点我收藏+]

标签:error: error in log_event::read_log_event(): 'sanity check failed'   data_len: 71   event_type: 35   

不知道怎么了,今天使用mysqlbinlog这个命令查看数据库的日志文件,出现了如下报错:

[root@Darren1 logs]# mysqlbinlog -vv --base64-output=decode-rows mysql-bin.000006 
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
# at 4
#170415  1:28:13 server id 23306  end_log_pos 123       Start: binlog v 4, server v 5.7.16-log created 170415  1:28:13
# Warning: this binlog is either in use or was not closed properly.
ERROR: Error in Log_event::read_log_event(): ‘Sanity check failed‘, data_len: 71, event_type: 35
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;

通过查阅资料,有网友说可能是mysqlbinlog版本与数据库服务版本不匹配,然后当我使用全路径/usr/local/mysql/bin/mysqlbinlog查看日志文件时不会报错。

然后通过which命令查看mysqlbinlog这个命令位置时发现:

[root@Darren1 logs]# which mysqlbinlog
/usr/bin/mysqlbinlog

这个位置的mysqlbinlog确实不是我安装的脚本位置,/usr/local/mysql/bin/目录才是我指定存放脚本工具的位置,那么/usr/bin/mysqlbinlog这个是怎么来的呢?初步判断是不小心安装rpm版本的mysql时候生成的。

那么知道原因,问题就好解决了:

删除/usr/bin/目录下的所有mysql工具,同时配置一下环境变量:

[root@Darren1 bin]# rm -rf /usr/bin/mysql*
[root@Darren1 bin]#echo ‘export PATH=$PATH:/usr/local/mysql/bin/‘>>/etc/profile
[root@Darren1 bin]#source /etc/profile

[root@Darren1 logs]# which mysqlbinlog
/usr/local/mysql/bin/mysqlbinlog

这样系统默认使用的就是对应版本的mysqlbinlog了。

本文出自 “10979687” 博客,请务必保留此出处http://10989687.blog.51cto.com/10979687/1920565

mysqlbinlog查看日志报错

标签:error: error in log_event::read_log_event(): 'sanity check failed'   data_len: 71   event_type: 35   

原文地址:http://10989687.blog.51cto.com/10979687/1920565

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!