问题

mysqlbinlog -v -v --base64-output=DECODE-ROWS mysql-bin.000166 | less

ERROR: Error in Log_event::read_log_event(): 'Found invalid event in binary log', data_len: 111, event_type: 35
/*!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
#190408 18:15:19 server id 311948559 end_log_pos 123 CRC32 0x56e12e5d Start: binlog v 4, server v 5.7.21-log created 190408 18:15:19
# Warning: this binlog is either in use or was not closed properly.
BINLOG '
Nx+rXA8P9ZcSdwAAAHsAAAABAAQANS43LjIxLWxvZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAEzgNAAgAEgAEBAQEEgAAXwAEGggAAAAICAgCAAAACgoKKioAEjQA
AV0u4VY=
'/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;

查看当前使用的mysqlbinlog文件位置

which mysqlbinlog

/usr/bin/mysqlbinlog

ll /usr/bin/mysqlbinlog

-rwxr-xr-x 1 root root 3259000 6月 10 2014 /usr/bin/mysqlbinlog

该myqlbinlog在2014年就已经存在了,推测是该机器中自带的mariadb中的

版本信息

/usr/bin/mysqlbinlog --version

/usr/bin/mysqlbinlog Ver 3.3 for Linux at x86_64

/usr/bin/mysqlbinlog Ver 3.3 for Linux at x86_64

Copyright (c) 2000, 2013, Oracle, Monty Program Ab and others.

Dumps a MySQL binary log in a format usable for viewing or for piping to

the mysql command line client.

查看当前运行的mysqld进程basedir

ps -ef | grep defaults | grep 3308 | awk '{print $8}'

/opt/mysql/base/5.7.21/bin/mysqld

版本信息

/opt/mysql/base/5.7.21/bin/mysqlbinlog -V

/opt/mysql/base/5.7.21/bin/mysqlbinlog Ver 3.4 for linux-glibc2.12 at x86_64

删除原可执行文件mysqlbinlog,重新建立软链接

rm -r /usr/bin/mysqlbinlog

rm:是否删除普通文件 "/usr/bin/mysqlbinlog"?y

ln -s /opt/mysql/base/5.7.21/bin/mysqlbinlog /usr/bin

可正常使用

mysqlbinlog -v -v --base64-output=DECODE-ROWS mysql-bin.000166 | less

/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
# at 4
#190408 18:15:19 server id 311948559 end_log_pos 123 CRC32 0x56e12e5d Start: binlog v 4, server v 5.7.21-log created 190408 18:15:19
# Warning: this binlog is either in use or was not closed properly.
# at 123

老版本mysql可执行文件却能正常运行

ll /usr/bin/mysql

-rwxr-xr-x 1 root root 3546584 6月 10 2014 /usr/bin/mysql

mysql --version

mysql Ver 15.1 Distrib 5.5.35-MariaDB, for Linux (x86_64) using readline 5.1

/opt/mysql/base/5.7.21/bin/mysql -uroot -p --socket=/datas/mysql/data/3308/mysqld.sock -e"select version()"

Enter password:

+------------+

| version() |

+------------+

| 5.7.21-log |

+------------+

结论

  • 出现 ERROR: Error in Log_event::read_log_event(): 'Found invalid event in binary log', data_len: 111, event_type: 35 错误是由于当前使用的myqlbinlog可执行文件的版本和正在运行的mysqld进程basedir中mysqlbinlog的版本不一致导致的(版本低不能正常读取高版本的mysqld产生的mysql-bin文件,产生的mysql-bin文件有event老版本的myqlbinlog不能正常读取)

  • 低版本的mysql可执行文件能正常登陆高版本的mysqld

MySQL mysqlbinlog 访问mysql-bin日志出错的更多相关文章

  1. Linux上通过MySQL命令访问MySQL数据库时常见问题汇总

    Linux上通过mysql命令访问MySQL数据库时常见问题汇总 1)创建登录账号 #创建用户并授权 #允许本地访问 create user 'test'@'localhost' identified ...

  2. 【故障处理】mysql出现大量slave bin日志,将磁盘空间占满

    master服务器IO线程 NO  问题描述:造成大量slave bin 日志 大量占用磁盘 排查解决步骤: 1.检查是配置的问题还是mysql数据库本身的故障 2.将master的机器 mysql_ ...

  3. PHP16 PHP访问MySQL

    学习要点 PHP访问MySQL配置 PHP访问MySQL函数介绍 足球赛程信息管理 PHP访问MySQL配置 PHP.ini配置文件确认以下配置已经打开 extension=php_mysql.dll ...

  4. 开启mysql外部访问(root外连)

    MySQL外部访问 mysql 默认是禁止远程连接的,你在安装mysql的系统行运行mysql -u root -p 后进入mysql 输入如下: mysql>use mysql; mysql& ...

  5. mysqlbinlog 查看mysql bin 日志 mysqlbinlog: unknown variable 'default-character-set=utf8'

    mysqlbinlog  mysql-bin.000036 | less 查询包含几个字段的语句: mysqlbinlog mysql-bin.000036| egrep '(201103061000 ...

  6. Mysql: mysqlbinlog命令查看日志文件

    想查看mysql的binlog文件,但是裸的binlog文件是无法直视的,mysqlbinlog这个工具是用来查看binlog文件内容的(使用方式man mysqlbinlog查看),但是使用mysq ...

  7. mysql数据安全之利用二进制日志mysqlbinlog恢复数据

    mysql数据安全之利用二进制日志mysqlbinlog恢复数据 简介:如何利用二进制日志来恢复数据 查看二进制日志文件的内容报错: [root@xdclass-public log_bin]# my ...

  8. mysql数据安全之利用二进制日志mysqlbinlog备份数据

    mysql数据安全之利用二进制日志mysqlbinlog备份数据 简介:如何利用二进制日志来备份数据 什么是二进制日志: 二进制日志就是记录着mysql数据库中的一些写入性操作,比如一些增删改,但是, ...

  9. sql命令查看,清楚mysql bin日志

    查看二进制日志文件 mysql> SHOW BINLOG EVENTS \G; mysql> SHOW MASTER LOGS; 清除二进制日志文件 mysql> PURGE { M ...

随机推荐

  1. Android 阻隔返回键

    //阻隔 返回键 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.K ...

  2. 一些hue的参考网址

    CDH5.8 HUE的使用(那些年走过的坑) https://blog.csdn.net/gao123456789amy/article/details/79242713 HUE的时间问题等 http ...

  3. Pushlet实现后台信息推送(一)

    Pushlet是使用较多的后台向前台推送信息的工具.前台订阅某个感兴趣的事件joinListen,触发后台的Pushlet的servlet,为该请求会话建立session,默认这个sessionID是 ...

  4. 框架和内嵌框架--->frameset 和 iframe 的文档对象

    框架和内嵌框架分别用 HTMLFrameElemnt 和 HTMLIFrameElement 表示,它们在 DOM2 中有一个新属性----->contentDocument,是一个指针,表示框 ...

  5. linux 部分常用命令

    1.Linux 删除除了某个文件之外的所有文件 [root@localhost abc]# ls |grep -v 'a' |xargs rm -f 其中rm -f  !(a) 最为方便.如果保留a和 ...

  6. JavaScript实现观察者模式

    首先: 观察者模式是软件设计模式的一种,它

  7. 149. Max Points on a Line同一条线上的最多点数

    [抄题]: Given n points on a 2D plane, find the maximum number of points that lie on the same straight ...

  8. [leetcode]297. Serialize and Deserialize Binary Tree 序列化与反序列化二叉树

    Serialization is the process of converting a data structure or object into a sequence of bits so tha ...

  9. Java 接口多继承

    按照理解,一般都是说Java 类是单继承,但可以实现多个接口.但是可以通过接口来实现类的多继承.(如何通过接口来实现多继承???) 那么就一直以为Java里面是单继承,今天看FutureTask源码的 ...

  10. Swift 模型属性

    1 .  // 定义模型属性时,一般定义为可选的,可以简化代码,不需要写 init 方法    // 如果是基本数据类型,不能设置为可选的,而且要设置初始值 var name: String? pri ...