Innodb table problem


I have a innodb table problem, when i try to make a select field1 from table1, i obtain the next error:

Incorrect information in file: ‘./dbase/table1.frm’

This is my first time that i have a problem with innodb tables. I was checking the frm file and i has a incorret size acording to a comparison made with the same file extracted for a previous backup.

I think that the table is corrupted. So, i decided to drop the table because i could restore it from a previous backup.

When i tried to drop it, i obtain the next error:

Unexpected eof found when reading file ‘./dbase/table1.frm’ (Errcode: -1)

How can i solve this problem without shutdown the server?
is there not option to recover it in hot?

Thanks for your help.

Try copying the .frm from your backups and replace the .frm that you have that is corrupt.
If you get a “file is locked” error then try “FLUSH TABLES;” before you do a retry to copy it.

But I would recommend you to shut down mysql before doing this.

Another question is why it got corrupted in the beginning, where you running an alter table command while the server crashed or?
Or do you have a disk that starts to break down?

Since the .frm is never touched except when creating, altering or deleting the table it is rarely a problem.

Thanks sterin71 for your anwser.

The server has not crashed and the disks are ok.

Really is a strange problem.

Thanks again.