Hi Daniel,
there is some documentation on the File format here (MYD and MYI):
http://forge.mysql.com/wiki/MySQL_Internals_MyISAM
It may help, if you can recover the frm file
http://forge.mysql.com/wiki/MySQL_Internals_File_Formats
You 1st need to know if you look at a table with fixed or variable row
length.
Another possibility is trying to recover the index (MYI) file, it
contains pointers into the MYD file:
variable length => position in pyte
fixed length => record no (pos = record_no * record_len)
It may be easier to recover the index files, because they may have a
more recognizable structure. ( But again you need to konw the format
(packed/unpacked, which columns) of the index, so you need the .frm file
first.)
The index also holds duplication of some of the data. So once you have
the index, you can extract the data + position, and search this info on
the remaining sectors.
Hope it helps.
Best Regards
Martin
Daniel Rindt wrote:
> Hello everyone,
>
> my current task is to recover (most/ all) data from a crashed harddisc. i
> think that the carving method is the best in my case, the directory
> sturctures are broken.
> so i try to profile mysql data for recovering with foremost. but to my horror
> i have established that the MYD files are not having a header or footer.
> I had created some Tables an filled with random data with various combinations
> of table structures...
>
> the tables i want to recover is approx 2GB. The used Storage Engine is MyISAM.
>
> ok, the argument that i can watch the source is correct, but i want save the
> time. i am very happy about answers which are helping me to bring the light
> near to me.
>
> Thanks in advance
> Daniel
>