当前位置:Gxlcms > 数据库问题 > mysql故障--mysqlbinlog无法查询日志问题说明

mysql故障--mysqlbinlog无法查询日志问题说明

时间:2021-07-01 10:21:17 帮助过:24人阅读

binlog日志

mysqlbinlog  mysq-bin.000285查看binlog日志的时候报错

ERROR: Error in Log_event::read_log_event(): ‘Sanity check failed‘, data_len: 73, event_type: 30

ERROR: Could not read entry at offset 240: Error in log format or read error.

注释:

由于mysqlbinlog工具的版本和mysql数据库版本不兼容,或mysql数据库的版本太低

查看下mysqlbinlog的版本

mysqlbinlog  -V

mysqlbinlog Ver 3.3 for Linux at x86_64

查看下mysql的版本

mysql  -V

mysql  Ver 14.14 Distrib 5.1.73, for redhat-linux-gnu (x86_64) using readline 5.1

我们看到mysql数据库版本是5.1的,而mysqlbinlog版本是3.3的,可以推断出是mysql数据库版本过低导致的mysqlbinlog命令不可用

问题解决:

升级mysql数据库

升级版本:MySQL版本:mysql-5.6.10

mysql安装目录:/usr/local/mysql

mysql数据库存放目录: /data/mysql

一、下载源码包

1.下载mysql源码

wget http://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.10.tar.gz

2.下载cmake源码

Wget http://www.cmake.org/files/v2.8/cmake-2.8.10.tar.gz

二、安装编译工具以及依赖包

yum -y install make cmake gcc gcc-c++-* libtool ncurses-devel glibc glib2-devel openssl-devel pcre-devel bzip2-devel perl-devel

三、安装cmake

cd /data/packages/ 进入软件包存放目录

tar -xvzf cmake-2.8.10.tar.gz

cd cmake-2.8.10

./configure

make

make install

四、安装mysql

groupadd mysql          添加mysql组

useradd -g mysql mysql    创建mysql用户并加入到mysql组

mkdir -p /data/mysql      创建mysql数据库存放目录

chown -R mysql:mysql /data/mysql   设置mysql数据库存放目录权限

mkdir -p /usr/local/mysql           创建mysql安装目录

cd /data/packages/ 进入软件包存放目录

tar -xvzf mysql-5.6.10.tar.gz          解压mysql源码包

cd mysql-5.6.10 切换到解压目录下

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  -DMYSQL_DATADIR=/data/mysql  -DSYSCONFDIR=/etc 检测环境

make 编译

make install 安装

rm -rf /etc/my.cnf 删除系统默认的配置文件

cd /usr/local/mysql 进入mysql安装目录

./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql  生成mysql系统数据库

ln -s /usr/local/mysql/my.cnf /etc/my.cnf 添加软连接

cp ./support-files/mysql.server  /etc/rc.d/init.d/mysqld 将mysql加入到系统启动

chmod 755 /etc/init.d/mysqld 添加执行权限

chkconfig mysqld on 加入到开机自启动

vim /etc/rc.d/init.d/mysqld

在该文件中修改

basedir=/usr/local/mysql mysql程序安装目录

datadir=/data/mysql mysql数据库存放路径

 

五、启动数据库

service mysqld start

六、将mysql服务加入到系统环境变量

vim /etc/profile

在该文件的最后添加下面一行

export PATH=$PATH:/usr/local/mysql/bin

六、设置mysql数据库密码

进入数据库

/usr/local/mysql/bin/mysql

SET PASSWORD = PASSWORD("newpassword");

flush privileges;

七、重启数据库

service mysqld restart

八、继续查询binlog

命令行输入mysqbinlog mysql-bin.00020845

发现还是不能查看

九、查看mysql数据库版本信息

命令行输入

mysql -V

mysql  Ver 14.14 Distrib 5.1.73, for redhat-linux-gnu (x86_64) using readline 5.1

数据库版本没有变化,还是5.1版本

进入数据库查看mysql版本

/usr/local/mysql/bin/mysql -uroot -p 密码

mysql> select version();

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

| version() |

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

| 5.6.10    |

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

1 row in set (0.00 sec)

 

mysql>

数据库版本是mysql-5.6.10

执行下面操作

cp /usr/local/mysql/bin/mysql /usr/bin/mysql

再次查看数据库版本

mysql -V

mysql  Ver 14.14 Distrib 5.6.10, for Linux (x86_64) using  EditLine wrapper

版本已经更新为mysql-5.6.10

再次查询binlog

Mysqlbinlog mysql-bin.0003325

发现还是报错

执行下面操作

cp /usr/local/mysql/bin/mysqlbinlog /usr/bin/mysqlbinlog

完成之后再次查看binlog

mysqbinlog mysql-bin.00032545

发现查询成功

 

mysql故障--mysqlbinlog无法查询日志问题说明

标签:get   sysconf   using   启动   cal   script   ges   arc   ora   

人气教程排行