MySQL mysqlbinlog 访问mysql-bin日志出错
问题
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日志出错的更多相关文章
- Linux上通过MySQL命令访问MySQL数据库时常见问题汇总
Linux上通过mysql命令访问MySQL数据库时常见问题汇总 1)创建登录账号 #创建用户并授权 #允许本地访问 create user 'test'@'localhost' identified ...
- 【故障处理】mysql出现大量slave bin日志,将磁盘空间占满
master服务器IO线程 NO 问题描述:造成大量slave bin 日志 大量占用磁盘 排查解决步骤: 1.检查是配置的问题还是mysql数据库本身的故障 2.将master的机器 mysql_ ...
- PHP16 PHP访问MySQL
学习要点 PHP访问MySQL配置 PHP访问MySQL函数介绍 足球赛程信息管理 PHP访问MySQL配置 PHP.ini配置文件确认以下配置已经打开 extension=php_mysql.dll ...
- 开启mysql外部访问(root外连)
MySQL外部访问 mysql 默认是禁止远程连接的,你在安装mysql的系统行运行mysql -u root -p 后进入mysql 输入如下: mysql>use mysql; mysql& ...
- mysqlbinlog 查看mysql bin 日志 mysqlbinlog: unknown variable 'default-character-set=utf8'
mysqlbinlog mysql-bin.000036 | less 查询包含几个字段的语句: mysqlbinlog mysql-bin.000036| egrep '(201103061000 ...
- Mysql: mysqlbinlog命令查看日志文件
想查看mysql的binlog文件,但是裸的binlog文件是无法直视的,mysqlbinlog这个工具是用来查看binlog文件内容的(使用方式man mysqlbinlog查看),但是使用mysq ...
- mysql数据安全之利用二进制日志mysqlbinlog恢复数据
mysql数据安全之利用二进制日志mysqlbinlog恢复数据 简介:如何利用二进制日志来恢复数据 查看二进制日志文件的内容报错: [root@xdclass-public log_bin]# my ...
- mysql数据安全之利用二进制日志mysqlbinlog备份数据
mysql数据安全之利用二进制日志mysqlbinlog备份数据 简介:如何利用二进制日志来备份数据 什么是二进制日志: 二进制日志就是记录着mysql数据库中的一些写入性操作,比如一些增删改,但是, ...
- sql命令查看,清楚mysql bin日志
查看二进制日志文件 mysql> SHOW BINLOG EVENTS \G; mysql> SHOW MASTER LOGS; 清除二进制日志文件 mysql> PURGE { M ...
随机推荐
- 面试加分项---HashMap底层实现原理
想必大家都知道HashSet和HashMap之间的关系,HashSet是依赖于HashMap的,HashSet集合就是HashMap的key所组成的集合,我们都知道HashMap的value是可以重复 ...
- 使用generatorConfig配置,自动生成实体类,Mapper接口等
1.在项目的resource目录下面配置generatorConfig.properties文件,以及generatorConfig.xml文件 generatorConfig.properties文 ...
- Mysql添加新用户遇到的一些小问题
登陆命令:mysql -u root -p 添加本地用户:create user 'sheet'@'localhost' identified by '123456' ; 添加允许外网IP访问的用户 ...
- django 数据库配置 ,APP 迁移.模型基础
# 1.数据库的连接配置django 连接mysql的配置流程:- 安装 pymysql pip install pymysql- 创建数据库用户有创建数据库权限的用户- 创建数据库crm .进入数据 ...
- 移动端的1px边框问题
最近在做一个移动端项目,涉及到1像素问题 其实质就是移动端的css里写1px,看起来比1px粗,这就是物理像素和逻辑像素的区别.物理像素和逻辑像素之间存在一个比例关系,在Javascript中可以用w ...
- 716. Max Stack实现一个最大stack
[抄题]: Design a max stack that supports push, pop, top, peekMax and popMax. push(x) -- Push element x ...
- 写一份简单的webpack2 的配置文件,无比简单
这是一份自己用到的webpack2的配置写法,从看webpack2开始,发现自己越来越懒了,现在html文件都不想自己写了,直接自己生成... 哈哈,这次是可以无比完美的导入css啦 开发的时候在命令 ...
- 通过Solrj实现对索引库中数据的局部更新操作
for (UpdateIndexDTO updateIndexDTO : data) { // 局部更新 SolrInputDocument doc = new SolrInputDocument() ...
- 一句话shell【php】
1.mysql执行语句拿shell Create TABLE a (cmd text NOT NULL); Insert INTO a (cmd) VALUES('<?php @eval($_P ...
- zeromq学习记录(七)订阅发布消息封装
之前也有提到 使用订阅发布 pub sub模式必须要显示定义ZMQ_SUBSCRIBE 只有以此模式定义的过滤字节开头的消息才会被订阅者收到 如果想收到所有信息 可定义subscriber.setso ...