I have what I believe is a corrupted MySQL table. In the database I can see there is only a .frm file, not a .mdi or .mdy for it. How can I recover data from this .frm file?

I believe that I have to get data from the ibdata1 file?

link|improve this question

feedback

2 Answers

up vote 3 down vote accepted

There is no data in the .frm file; that file only contains the table definition. However, if you're not running a MyISAM table, it's expected that there will be no .MYD or .MYD files, because those are only used for MyISAM tables. Instead, the data will be somewhere else -- for InnoDB tables, for instance, it'll be in your ibdata* files (or perhaps in a per-table file if you've got file_per_table turned on).

link|improve this answer
is there a tool i can use to just view data in the ibdata file? – Beginner Jul 12 '11 at 11:11
1  
Most people use MySQL. – womble Jul 12 '11 at 11:20
Lol yeh i think i forgotten my password, i give it a go thanks – Beginner Jul 12 '11 at 11:23
That's easy to fix: debian-administration.org/articles/442 – womble Jul 12 '11 at 22:50
feedback

The .frm file doesn't really contain any data--it's just the table definition. You can read the specifics here.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.