mysql文件中的错误信息:(损坏)错误

我最近在办公室的一台监控服务器上遇到停电事故。 导致某些数据库表损坏的中断的结果。

我通过使用“use_frm”选项成功修复了3-4个表,但仍然有3个似乎严重损坏,并且没有响应mysql REPAIR命令(带或不带use_frm)

mysql> REPAIR TABLE poller_item; +-------------------+--------+----------+---------------------------------------------- ------------+ | Table | Op | Msg_type | Msg_text | +-------------------+--------+----------+------------------------------------------------- ---------+ | cacti.poller_item | repair | Error | Incorrect information in file: './cacti/poller_item.frm' | | cacti.poller_item | repair | error | Corrupt | +-------------------+--------+----------+------------------------------------------------- ---------+ 

在这种情况下,有没有其他的方式来修复表?

MySQL版本

 mysql Ver 14.14 Distrib 5.1.49, for debian-linux-gnu (x86_64) using readline 6.1 

 Incorrect information in file: './cacti/poller_item.frm' 

.frm文件存储表格格式。 尝试这个:

  • 停止MySQL
  • 采取poller_item.frmpoller_item.MYDpoller_item.MYI的备份
  • 删除poller_item
  • 启动MySQL
  • 使用poller_item中的CREATE TABLE语句重新创buildpoller_item表(使用您正在运行的相应版本)
  • 停止MySQL
  • poller_item.MYDpoller_item.MYI复制到datadir中
  • 再次启动MySQL

先备份,然后尝试尝试MYISAMCHK(1):

 myisamchk --recover tbl myisamchk --save-recover tbl