专栏首页乐沙弥的世界MySQL read_log_event(): 'Found invalid event in binary log'

MySQL read_log_event(): 'Found invalid event in binary log'

    MySQL以简单易用著称,在同一个服务器上可以安装N个不同的版本,方便测试,迁移等等。此外,对于大多数Linux系统,集成了mysql,缺省会被安装。因此多版本的问题导致一些莫名的错误也是时有发生。最近在提取binlog日志时,碰到了一个read_log_event,Found invalid event in binary log。经查发现原来是mysqlbinlog版本问题引发的。如下文,供大家参考。

1、故障描述 [root@HKBO bak]# mysqlbinlog --start-datetime="2014-12-15 00:30:00" mysql-bin.000399bk |more ERROR: Error in Log_event::read_log_event(): 'Found invalid event in binary log', data_len: 376, event_type: 19 /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; DELIMITER /*!*/; # at 4 #141213 21:05:01 server id 11  end_log_pos 120  Start: binlog v 4, server v 5.6.12-log created 141213 21:05:01 # Warning: this binlog is either in use or was not closed properly. DELIMITER ; # End of log file ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;

2、故障分析与解决 #查看当前是哪一个mysqlbinlog文件 [root@HKBO bak]# which mysqlbinlog /usr/bin/mysqlbinlog

#查看mysqlbinlog的版本,此时为3.2 [root@HKBO bak]# mysqlbinlog --version mysqlbinlog Ver 3.2 for redhat-linux-gnu at x86_64 #Author : Leshami #Blog   : http://blog.csdn.net/leshami

[root@HKBO bak]# whereis mysqlbinlog mysqlbinlog: /usr/bin/mysqlbinlog /usr/share/man/man1/mysqlbinlog.1.gz

#此服务器的安装路径其实质如为/app/soft/mysql/,查看mysqlbinlog的版本为3.4版 [root@HKBO bak]# /app/soft/mysql/bin/mysqlbinlog --version /app/soft/mysql/bin/mysqlbinlog Ver 3.4 for Linux at x86_64

#下面使用正确路径的mysqlbinlog,此时成功 [root@HKBO bak]# /app/soft/mysql/bin/mysqlbinlog --start-datetime="2014-12-15 00:30:00" mysql-bin.000399bk |more /*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/; /*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; DELIMITER /*!*/; # at 4 #141213 21:05:01 server id 11  end_log_pos 120 CRC32 0xaafb2293         Start: binlog v 4, server v 5.6.12-log created 141213 21:05:01 # Warning: this binlog is either in use or was not closed properly. BINLOG ' fTmMVA8LAAAAdAAAAHgAAAABAAQANS42LjEyLWxvZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAEzgNAAgAEgAEBAQEEgAAXAAEGggAAAAICAgCAAAACgoKGRkAAZMi +6o= '/*!*/; # at 594054457

#查看当前系统mysql的版本 # /app/soft/mysql/bin/mysql --version /app/soft/mysql/bin/mysql  Ver 14.14 Distrib 5.6.12, for Linux (x86_64) using  EditLine wrapper

#以下的为OS安装时缺省安装的版本 # rpm -qa |grep -i mysql mysql-5.0.95-3.el5

3、小结 a、对于生产环境mysql的部署,建议在安装OS前不安装缺省的mysql或者安装后卸载缺省的mysql b、因需要存在多版本的情形,应考虑使用直接路径方式来执行相应的mysql命令行工具

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • MySQL 数据库的启动与关闭

        MySQL数据库服务器通常指的的是mysqld,而命令行mysql则是mysql客户端程序,这两个概念通常容易混淆。通常启动mysql服务器即是启动my...

    Leshami
  • 一次mysql 5.5升级到5.6导致的ERROR 1805

    前阵子将mysql数据库由5.5.14升级到5.6.36,升级后所有的业务数据都正常。运行了几天后,发现在主库上添加用户失败,错误提示为:ERROR 1805 ...

    Leshami
  • Linux 下MySQL源码安装完整版

        在Linux中安装MySQL,通常为RPM与源码方式安装。对于生产环境而言,由于需要自定义诸如安装路径、数据文件位置、字符集以及支持的存储引擎等多以源码...

    Leshami
  • JAVA 拾遗 — CPU Cache 与缓存行

    最近的两篇文章,介绍了我参加的中间件比赛中一些相对重要的优化,但实际上还存在很多细节优化,出于篇幅限制并未提及,在最近的博文中,我会将他们整理成独立的知识点,并...

    kirito-moe
  • 从智能家居的“屏幕冗余”来看,IoT是否正在偏离“宁静技术”?

    上世纪,来自施乐帕克研究中心(Xerox PARC)的Mark Weiser 和John Seely Brown提出一个概念,即Calm Technology(...

    用户2908108
  • SQL学习笔记三之MySQL表操作

    https://www.cnblogs.com/JetpropelledSnake/p/9094125.html

    Jetpropelledsnake21
  • 分布式资源调度——YARN框架

    YARN是Hadoop2.x才有的,所以在介绍YARN之前,我们先看一下MapReduce1.x时所存在的问题:

    端碗吹水
  • 学习hadoop需要什么基础

    “学习hadoop需要什么基础”这已经不是一个新鲜的话题了,随便上网搜索一下就能找出成百上千篇的文章在讲学习hadoop需要掌握的基础。再直接的一点的问题就是—...

    IT小白龙
  • 从零开始学习hadoop之发行版选择

    经常会看到这样的问题:零基础学习hadoop难不难?有的人回答说:零基础学习hadoop,没有想象的那么难,也没有想象的那么容易。看到这样的答案不免觉得有些尴尬...

    用户3392176
  • Android 8.0 SystemUI(四):二说顶部 StatusBar

    大家好,我是ptt,本篇是 SystemUI 的第四篇,也是 StatusBar 的第二说。

    菜天哥哥

扫码关注云+社区

领取腾讯云代金券