mysql40019_使用mysqlbinlog报错

在尝试使用mysqlbinlog查看数据库日志时遇到40019错误,提示日志可能正在使用或未正确关闭。经过排查,发现可能是mysqlbinlog的版本与数据库服务版本不一致。通过删除/usr/bin/下的mysql工具,更新环境变量指向正确版本的mysqlbinlog,成功解决了问题。
摘要由CSDN通过智能技术生成

不知道怎么了,今天使用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了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值