Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re: Read a mysql .MYD file without a working .MYI file?

by converter (Priest)
on Nov 17, 2008 at 14:30 UTC ( #724054=note: print w/ replies, xml ) Need Help??


in reply to Read a mysql .MYD file without a working .MYI file?

Have you looked at the MySQL documentation on the REPAIR TABLE syntax?


Comment on Re: Read a mysql .MYD file without a working .MYI file?
Re^2: Read a mysql .MYD file without a working .MYI file?
by japhy (Canon) on Nov 17, 2008 at 14:51 UTC
    I looked at the docs, yes, and I've tried various repairs. There are numerous errors about bad links going outside the data file (these occur as the .MYD file is being regenerated). The killer errors come up during the rebuilding of the index:
    | itrade_new.offers | repair | info | Found link that points at 82 +43107105727870068 (outside data file) at 42211469888 | | itrade_new.offers | repair | info | Found link that points at 82 +43107105727870068 (outside data file) at 42211469944 | | itrade_new.offers | repair | info | Found link that points at 82 +43107105727870068 (outside data file) at 42211470004 | | itrade_new.offers | repair | info | Found link that points at 44 +71241038974708841 (outside data file) at 42211470120 | | itrade_new.offers | repair | info | Found link that points at 44 +71296179294533182 (outside data file) at 42211470284 | | itrade_new.offers | repair | info | Found link that points at 83 +67816172579929378 (outside data file) at 42211470300 | | itrade_new.offers | repair | info | Found link that points at 33 +42363012281692769 (outside data file) at 42211470900 | | itrade_new.offers | repair | info | Found link that points at 44 +71433271728779990 (outside data file) at 42211470952 | | itrade_new.offers | repair | info | Found link that points at 73 +7591309940387956 (outside data file) at 42211471032 | | itrade_new.offers | repair | info | Found link that points at 44 +71296179294533182 (outside data file) at 42211471756 | | itrade_new.offers | repair | info | Found link that points at 10 +612976429166 (outside data file) at 42211471860 | | itrade_new.offers | repair | info | Found link that points at 78 +10403350942084128 (outside data file) at 42211471872 | | itrade_new.offers | repair | info | Found link that points at 71 +64208255722136163 (outside data file) at 42211472196 | | itrade_new.offers | repair | info | Found link that points at 82 +43107105727870068 (outside data file) at 42211472360 | | itrade_new.offers | repair | error | sort_buffer_size is to small + | | itrade_new.offers | repair | error | Can't copy datafile-header t +o tempfile, error 9 | | itrade_new.offers | repair | status | Operation failed +
    That "sort_buffer_size" error comes up even when I set that value to 4G (the max value permitted). I haven't found much helpful information concerning "Can't copy datafile-header to tempfile, error 9".

    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)
      Have you run fsck to make sure your filesystem isn't hosed? Never hurts to be paranoid.
        Good idea, I suppose. Can I do that while the system is being used, though? This box holds some other databases, including the temporary table set up while this particular table is giving me woe.

        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)

      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...

        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)

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://724054]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (7)
As of 2014-09-20 06:23 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (155 votes), past polls