还是一样的错误啊! [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]#
+------------+
| version() |
+------------+
| 5.1.30-log |
+------------+
1 row in set (0.00 sec)
/home/oper/soft/mysql-5.1.30/mysql-5.1.30/client/.libs/mysqlbinlog
这两个binlog可执行文件,分别绝对路径执行一下, 带参数: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]# 是不是因为二进制文件太大?
[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]#
是不是数据库存储引擎的问题呢?刚看到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,
`re` varchar(256) DEFAULT NULL,
PRIMARY KEY (`module_id`)
) ENGINE=MyISAM AUTO_INCREMENT=100801 DEFAULT CHARSET=utf8 COMMENT='菜单表' |
是不是这个问题呢?
是不是数据库存储引擎的问题呢?刚看到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,
`re` varchar(256) DEFAULT NULL,
PRIMARY KEY (`module_id`)
) ENGINE=MyISAM AUTO_INCREMENT=100801 DEFAULT CHARSET=utf8 COMMENT='菜单表' |
是不是这个问题呢?可以做一些简单的实验来验证是否是因为MyISAM引擎引起的
是不是数据库存储引擎的问题呢?刚看到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,
`re` varchar(256) DEFAULT NULL,
PRIMARY KEY (`module_id`)
) ENGINE=MyISAM AUTO_INCREMENT=100801 DEFAULT CHARSET=utf8 COMMENT='菜单表' |
是不是这个问题呢?可以做一些简单的实验来验证是否是因为MyISAM引擎引起的试过了,不是引擎引起的![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?
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,稍微改了一下,测试还是报错!这个文件是数据库系统文件,也不敢大动干戈!估计是只能升级了!