Sarah
Sarah

Reputation: 31

MariaDB/MySQL Database Table Corrupt, Can't Repair

I have a specific table that's causing issues. phpmyadmin says it's "in use".

When I try to repair: data_members.am_page Error : Incorrect information in file: './data_members/am_page.frm' error : Corrupt

Table(s) are MyISAM

How should I proceed to try and fix this?

"Error: Got error 185 'Incompatible key or row definition between the MariaDB .frm file and the information in the storage engine. You have to dump and restore the table to fix this' from MyISAM"

Upvotes: 2

Views: 8618

Answers (3)

Oleg Barshay
Oleg Barshay

Reputation: 3819

I ran into the same error message when copying over an older database snapshot. What worked for me was running:

REPAIR TABLE myTable USE_FRM;

Hope that helps!

Upvotes: 1

revher
revher

Reputation: 311

MariaDB > repair table tetra2cur;

Table | Op | Msg_type | Msg_text

tetrawikidb.tetra2cur | repair | Error | Got error 185 'Incompatible key or row definition between the MariaDB .frm file and the information in the storage engine. You have to dump and restore the table to fix this' from MyISAM |

tetrawikidb.tetra2cur | repair | error | Corrupt

Thus repair table doesn't help. Using 5.5.39-MariaDB

Don't how to do. Downgrading to former MariaDb versions. These are databases which I probably did not check "enough" when migrating from mysql to mariadb. Or use mysql and mysqldump?

Upvotes: 0

Benvorth
Benvorth

Reputation: 7722

Try the following:

First check for all running queries and possible Connections your table might use. You can do this by

SHOW PROCESSLIST;

which gives you all running queries/Connections. You can terminate a query/Connection by

KILL <id>;

After that repair your table

REPAIR TABLE myTable;

Try to run this more than once until your Status Returns as ok. After that

OPTIMIZE TABLE myTable:

Then you can use the table again.

Good luck!

Upvotes: 1

Related Questions