閱讀877 返回首頁    go 阿裏雲 go 技術社區[雲棲]


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 也導出了表結構與數據,


 


 

最後更新:2017-04-03 16:49:03

  上一篇:go Hi3515支持NFS-ROOT啟動
  下一篇:go GIT基本概念和用法總結