http://www.perlmonks.org?node_id=724167


in reply to Re^2: Read a mysql .MYD file without a working .MYI file?
in thread Read a mysql .MYD file without a working .MYI file?

REPAIR TABLE rebuilds the entire table and index, so you'll need to have enough diskspace. The error 9 is probably mysql running out of space during the rebuild. You won't notice it after because it discards the temp files.

You'll need table size + index size + extra to do a full repair. Also, because mysql doesn't run as root, you won't have your entire disk available for the repair (if you're running Linux on ext2 or ext3) because of the reserved blocks. Check tune2fs's manpage for more info on those...

I've worked with 80Gb+ tables more then I care for, and have run into this sort of issue way too often...

  • Comment on Re^3: Read a mysql .MYD file without a working .MYI file?

Replies are listed 'Best First'.
Re^4: Read a mysql .MYD file without a working .MYI file?
by japhy (Canon) on Nov 18, 2008 at 13:49 UTC
    Oh, I have the space. I also made a copy of the temporary file (.TMD or whatever). But actually, good news: I repaired it from the command-line using myisamchk --safe-repair and it worked.

    Jeff japhy Pinyan, P.L., P.M., P.O.D, X.S.: Perl, regex, and perl hacker
    Nos autem praedicamus Christum crucifixum (1 Cor. 1:23) - The Cross Reference (My Blog)
      I had a similar issue where the .MYI file ended up on a bad block on disk. For me, I had similar tables and just moved the old .MYI to another name, then copied the .MYI from another table into its place. Then I ran REPAIR table db.table extended in the mysql client. Problem solved.