首页 > 代码库 > history_uint损坏致mysql频繁重启导致zabbix_server关闭解决办法

history_uint损坏致mysql频繁重启导致zabbix_server关闭解决办法

问题:13:15:47  InnoDB: Page checksum 2390903969, prior-to-4.0.14-form checksum 2524550738

InnoDB: stored checksum 2319722401, prior-to-4.0.14-form stored checksum 192332111

InnoDB: Page lsn 0 1902263731, low 4 bytes of lsn at page end 1900395394

InnoDB: Page number (if stored to page already) 16222,

InnoDB: space id (if created with >= MySQL-4.1.1 and stored already) 0

InnoDB: Page may be an index page where index id is 0 462

InnoDB: (index "GEN_CLUST_INDEX" of table "zabbix"."history_uint")

InnoDB: Database page corruption on disk or a failed

InnoDB: file read of page 16222.

InnoDB: You may have to recover from a backup.

InnoDB: It is also possible that your operating

InnoDB: system has corrupted its own file cache

InnoDB: and rebooting your computer removes the

InnoDB: error.

InnoDB: If the corrupt page is an index page

InnoDB: you can also try to fix the corruption

解决方法:

在my.cnf中添加innodb_force_recovery=1 ,并重启mysql

[root@zabbix /]# /etc/init.d/mysqld restart

新建同结构表,引擎为myisam

mysql> use zabbix

mysql> create table history_uint_new like history_uint; 

mysql> alter table history_uint_new type=myisam;

将原表数据导入到新建的表中;

mysql> Insert into history_uint_new select * from history_uint;

mysql> exit

在my.cnf中注释掉innodb_force_recovery=1 ,并重启mysql

[root@strongzabbix /]# /etc/init.d/mysqld restart

修改新表引擎为innodb

mysql> use zabbix

Alter table history_uint_new type=innodb; 

删除原表

mysql> Drop table history_uint; 

将新表名称改为原表并刷新权限,重启mysql

mysql> rename table history_uint_new to history_uint;  

mysql> flush privileges; 

mysql> exit

[root@strongzabbix /]# /etc/init.d/mysqld restart


本文出自 “学习成长” 博客,请务必保留此出处http://3887111.blog.51cto.com/3877111/1917400

history_uint损坏致mysql频繁重启导致zabbix_server关闭解决办法