Index history_uint is corrupted 数据库修复索引损坏的表


以下是zabbix监控中的一张history_uint表突然损坏的修复方法,如果修改引擎提示语法错误,请将type修改为engine

解决方法:

在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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM