innodb 引擎表修复二

修复过程中遇到下面问题

mysql> check table recharge.t_recharge_zt_2012;
+-----------------------------+-------+----------+------------------------------------------------------------------------------------------------------+
| Table                       | Op    | Msg_type | Msg_text                                                                                             |
+-----------------------------+-------+----------+------------------------------------------------------------------------------------------------------+
| recharge.t_recharge_zt_2012 | check | error    | Table rebuild required. Please do "ALTER TABLE `t_recharge_zt_2012` FORCE" or dump/reload to fix it! |
+-----------------------------+-------+----------+------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)


整个库 recharge 中所有表都一样报错,信息如上

 

思考, 尝试使用 alter table,  mysqlcheck, repair table  工具修复。

但不是 MyISAM 引擎, 无法修复

 

后发现上一手升级数据库时, 不进行数据库自身升级 (mysql_update)

先进行 mysql_update 操作

操作过程中同样出现下面信息

hb.hb_coupon                                       OK
hb.hb_coupon_type
error    : Table rebuild required. Please do "ALTER TABLE `hb_coupon_type` FORCE" or dump/reload to fix it!
hb.hb_districtprefix


但至少把 mysql 自身库 mysql 修复成功

上一手真 TMD 随便,既不备份,也不进行库升级

 

尝试利用 mysqldump 导出库

mysqldump -pxxxx  --database recharge    >  recharge.sql


在查询一下导出的内容 recharge.sql

发现表与数据都有

^__^ 通过 重新导入数据方式就可以恢复了。。

 

假如恢复不了, mysqldump 也导出了表结构与数据,


 


 

你可能感兴趣的:(innodb 引擎表修复二)