Our server's hdds crashed and we didn't have a current backup, so we sent our hdds to a data recovery company. They have been working on the hdds for over a week and they have finally managed to save some files from the hdds.

My problem is the saved files are only myi files and they are named numerically, so I don't know which one belongs to which mysql table. Is it possible to recreate myd and frm files from a myi file? Or is there anything else I can do to get current data from myi?

  • 1
    The MYI is only for MyISAM tables, what about the InnoDB or other engines?, take a look to this post: stackoverflow.com/questions/879176/… good luck
    – jcho360
    Commented Jul 10, 2012 at 12:54
  • there was just 1 php application that was using only myisam tables so other engines are not important for me... I also read that post before opening this question and as i understood that person had frm(table structure), myd(data) and myi(indexes) but i have only myi files... not a single solution in that thread works for me... fyi i have already tried copying myi files to mysql data folder however since there isnt frm files tables dont show up in phpmyadmin...
    – renova
    Commented Jul 10, 2012 at 13:00
  • I don't think that it's possible only with myi files, because they are more the structure(index) of the table than the data, I'm going to try yo put this question en DBA.stackoverflow
    – jcho360
    Commented Jul 10, 2012 at 13:07

1 Answer 1


No, it's not possible - you need the MYD file, too. The MYI file is only the indexes and does not contain any data. It is like trying to restore the contents of the book High Performance MySQL from only the index pages.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.