急等,求MYSQL大牛赐教!!!!

qianrushi_shen 2013-12-11 11:01:03
root@NCBCNMATEST 20131210]# mysqlbinlog 20131210mysql-bin.000087 > 87.sql
ERROR: Error in Log_event::read_log_event(): 'Sanity check failed', data_len: 66130, event_type: 89
ERROR: Could not read entry at offset 308: Error in log format or read error.

我查了一下版本

[root@NCBCNMATEST 20131210]# /usr/local/mysql/bin/mysqlbinlog -V
/usr/local/mysql/bin/mysqlbinlog Ver 3.3 for unknown-linux-gnu at x86_64
[root@NCBCNMATEST 20131210]# /home/oper/soft/mysql-5.1.30/mysql-5.1.30/client/.libs/mysqlbinlog -V
/home/oper/soft/mysql-5.1.30/mysql-5.1.30/client/.libs/mysqlbinlog Ver 3.3 for unknown-linux-gnu at x86_64

版本没有问题。

我把my.cnf文件中的max_allowed_packet也改大了,但是还是报同样的错误。

请大牛指教啊!
...全文
2571 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
iihero_ 2013-12-12
  • 打赏
  • 举报
回复
也许,真的让你给撞上了 http://bugs.mysql.com/bug.php?id=43808 人家5.1.32都有这bug了。 你要不就升一下级吧。升到5.1.x的最新一个版本。
qianrushi_shen 2013-12-12
  • 打赏
  • 举报
回复
引用 8 楼 iihero 的回复:
[quote=引用 7 楼 qianrushi_shen 的回复:] [quote=引用 4 楼 iihero 的回复:] /usr/local/mysql/bin/mysqlbinlog /home/oper/soft/mysql-5.1.30/mysql-5.1.30/client/.libs/mysqlbinlog 这两个binlog可执行文件,分别绝对路径执行一下, 带参数:20131210mysql-bin.000087的全路径, 看看是不是都是一样的错。
是不是数据库存储引擎的问题呢?刚看到chinaunix社区上看到“文档目的:我写这篇文档的目的是为了提高MYSQL数据的备份与恢复的效率,文档内提及的技术基本都是围绕全程不锁表的情况下对INNODB表库进行整库备份、增量备份(无法适用于MYISAM表库)与恢复方法,从而可以达到在不影响业务的情况下进行备份维护” 而查了一下数据库表 | is_ac_module | CREATE TABLE `is_ac_module` ( `module_id` int(11) NOT NULL AUTO_INCREMENT, `parent_id` int(11) DEFAULT NULL, `plant_id` int(11) NOT NULL, `code` varchar(30) DEFAULT NULL, `module_name` varchar(50) NOT NULL, `view_order` int(11) DEFAULT NULL, `is_leaf` varchar(50) DEFAULT NULL, `url` varchar(256) DEFAULT NULL, `enable` char(1) DEFAULT NULL, `remark` varchar(256) DEFAULT NULL, PRIMARY KEY (`module_id`) ) ENGINE=MyISAM AUTO_INCREMENT=100801 DEFAULT CHARSET=utf8 COMMENT='菜单表' | 是不是这个问题呢?[/quote] 可以做一些简单的实验来验证是否是因为MyISAM引擎引起的[/quote] 试过了,不是引擎引起的! [root@NCBCNMATEST 20131211]# mysqlbinlog 20131211mysql-bin.000091 > 91.sql ERROR: Error in Log_event::read_log_event(): 'Sanity check failed', data_len: 66130, event_type: 73 ERROR: Could not read entry at offset 970: Error in log format or read error. [root@NCBCNMATEST 20131211]# 真的要死了。莫非这真是5.1版本的BUG?
iihero_ 2013-12-12
  • 打赏
  • 举报
回复
引用 7 楼 qianrushi_shen 的回复:
[quote=引用 4 楼 iihero 的回复:] /usr/local/mysql/bin/mysqlbinlog /home/oper/soft/mysql-5.1.30/mysql-5.1.30/client/.libs/mysqlbinlog 这两个binlog可执行文件,分别绝对路径执行一下, 带参数:20131210mysql-bin.000087的全路径, 看看是不是都是一样的错。
是不是数据库存储引擎的问题呢?刚看到chinaunix社区上看到“文档目的:我写这篇文档的目的是为了提高MYSQL数据的备份与恢复的效率,文档内提及的技术基本都是围绕全程不锁表的情况下对INNODB表库进行整库备份、增量备份(无法适用于MYISAM表库)与恢复方法,从而可以达到在不影响业务的情况下进行备份维护” 而查了一下数据库表 | is_ac_module | CREATE TABLE `is_ac_module` ( `module_id` int(11) NOT NULL AUTO_INCREMENT, `parent_id` int(11) DEFAULT NULL, `plant_id` int(11) NOT NULL, `code` varchar(30) DEFAULT NULL, `module_name` varchar(50) NOT NULL, `view_order` int(11) DEFAULT NULL, `is_leaf` varchar(50) DEFAULT NULL, `url` varchar(256) DEFAULT NULL, `enable` char(1) DEFAULT NULL, `remark` varchar(256) DEFAULT NULL, PRIMARY KEY (`module_id`) ) ENGINE=MyISAM AUTO_INCREMENT=100801 DEFAULT CHARSET=utf8 COMMENT='菜单表' | 是不是这个问题呢?[/quote] 可以做一些简单的实验来验证是否是因为MyISAM引擎引起的
qianrushi_shen 2013-12-12
  • 打赏
  • 举报
回复
引用 10 楼 iihero 的回复:
也许,真的让你给撞上了 http://bugs.mysql.com/bug.php?id=43808 人家5.1.32都有这bug了。 你要不就升一下级吧。升到5.1.x的最新一个版本。
我把源码给找出来了 1073 if (event_len < EVENT_LEN_OFFSET || 1074 buf[EVENT_TYPE_OFFSET] >= ENUM_END_EVENT || 1075 (uint) event_len != uint4korr(buf+EVENT_LEN_OFFSET)) 1076 { 1077 *error="Sanity check failed"; // Needed to free buffer 1078 DBUG_RETURN(NULL); // general sanity check - will fail on a partial read 1079 } 这是我打出来的一些变量值 buf[EVENT_TYPE_OFFSET] is 89, ENUM_END_EVENT is 27, EVENT_TYPE_OFFSET is 4, LOG_EVENT_TYPES is 26 现在可以肯定是buf[EVENT_TYPE_OFFSET] >= ENUM_END_EVENT,稍微改了一下,测试还是报错!这个文件是数据库系统文件,也不敢大动干戈!估计是只能升级了!
iihero_ 2013-12-11
  • 打赏
  • 举报
回复
20131210mysql-bin.000087这个文件是什么版本的mysql server产生的? 有相应信息吗?
qianrushi_shen 2013-12-11
  • 打赏
  • 举报
回复
引用 4 楼 iihero 的回复:
/usr/local/mysql/bin/mysqlbinlog /home/oper/soft/mysql-5.1.30/mysql-5.1.30/client/.libs/mysqlbinlog 这两个binlog可执行文件,分别绝对路径执行一下, 带参数:20131210mysql-bin.000087的全路径, 看看是不是都是一样的错。
是不是数据库存储引擎的问题呢?刚看到chinaunix社区上看到“文档目的:我写这篇文档的目的是为了提高MYSQL数据的备份与恢复的效率,文档内提及的技术基本都是围绕全程不锁表的情况下对INNODB表库进行整库备份、增量备份(无法适用于MYISAM表库)与恢复方法,从而可以达到在不影响业务的情况下进行备份维护” 而查了一下数据库表 | is_ac_module | CREATE TABLE `is_ac_module` ( `module_id` int(11) NOT NULL AUTO_INCREMENT, `parent_id` int(11) DEFAULT NULL, `plant_id` int(11) NOT NULL, `code` varchar(30) DEFAULT NULL, `module_name` varchar(50) NOT NULL, `view_order` int(11) DEFAULT NULL, `is_leaf` varchar(50) DEFAULT NULL, `url` varchar(256) DEFAULT NULL, `enable` char(1) DEFAULT NULL, `remark` varchar(256) DEFAULT NULL, PRIMARY KEY (`module_id`) ) ENGINE=MyISAM AUTO_INCREMENT=100801 DEFAULT CHARSET=utf8 COMMENT='菜单表' | 是不是这个问题呢?
qianrushi_shen 2013-12-11
  • 打赏
  • 举报
回复
还是一样的错误啊! [root@NCBCNMATEST 20131210]# /usr/local/mysql/bin/mysqlbinlog /root/dailyBackup/20131210/20131210mysql-bin.000087 > 87.sql ERROR: Error in Log_event::read_log_event(): 'Sanity check failed', data_len: 66130, event_type: 89 ERROR: Could not read entry at offset 308: Error in log format or read error. [root@NCBCNMATEST 20131210]# /home/oper/soft/mysql-5.1.30/mysql-5.1.30/client/.libs/mysqlbinlog /root/dailyBackup/20131210/20131210mysql-bin.000087 > 87.sql ERROR: Error in Log_event::read_log_event(): 'Sanity check failed', data_len: 66130, event_type: 89 ERROR: Could not read entry at offset 308: Error in log format or read error. [root@NCBCNMATEST 20131210]#
qianrushi_shen 2013-12-11
  • 打赏
  • 举报
回复
-rw-rw----. 1 mysql mysql 2259611 12月 10 12:29 20131210mysql-bin.000087 -rw-rw----. 1 mysql mysql 264 12月 10 12:30 20131210mysql-bin.000088 -rw-rw----. 1 mysql mysql 39436081 12月 10 23:00 20131210mysql-bin.000089 -rw-r--r--. 1 root root 1179 12月 11 15:55 87.sql -rw-r--r--. 1 root root 1175 12月 11 13:33 88.sql -rw-r-----. 1 root root 17848651 12月 10 13:54 mysql-bin.000089 [root@NCBCNMATEST 20131210]# /home/oper/soft/mysql-5.1.30/mysql-5.1.30/client/mysqlbinlog 20131210mysql-bin.000088 > 88.sql [root@NCBCNMATEST 20131210]# 是不是因为二进制文件太大?
iihero_ 2013-12-11
  • 打赏
  • 举报
回复
/usr/local/mysql/bin/mysqlbinlog /home/oper/soft/mysql-5.1.30/mysql-5.1.30/client/.libs/mysqlbinlog 这两个binlog可执行文件,分别绝对路径执行一下, 带参数:20131210mysql-bin.000087的全路径, 看看是不是都是一样的错。
rucypli 2013-12-11
  • 打赏
  • 举报
回复
看看别的文件是否同样的错误
qianrushi_shen 2013-12-11
  • 打赏
  • 举报
回复
5.1.30 mysql> select version(); +------------+ | version() | +------------+ | 5.1.30-log | +------------+ 1 row in set (0.00 sec)

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧