1

I've found lots of articles and questions related to this issue, but none that seem to apply or work in my situation. MySQL will not start after I had to do a fsck repair on my server's hard drive (unsure of cause: power failure, SSD corruption..?). The server now boots, but the main corruption appears to be in the InnoDB data file. I can't get the mysql process to start even with innodb_force_recovery=6.

At recovery level 6 I get this in the logs:

190925 21:25:07  InnoDB: Error: trying to access tablespace 36241408 page no. 0,
InnoDB: but the tablespace does not exist or is just being dropped 
[...repeats 100 times...]

After running innochecksum I get:

    >innochecksum /var/lib/mysql/ibdata1 -v 
    file /var/lib/mysql/ibdata1 = 320864256 bytes (19584 pages)...
    checking pages in range 0 to 19583
    page 51 invalid (fails old style checksum)

However, I was able to apparently recover the database using a 3rd party tool (Stellar Repair). It reports successful repair and I can browse my data. This leads me to believe the information is intact, but I just don't know how to repair it myself. I'd like to know if I'm missing something before I shell out $200 for this software. -Thanks

Update:

Out of desperation, I removed all my ibdata and log files and started mysql. Then I 'hot-swapped' my old ibdata file into the /var/lib/mysql directory. To my amazement, this almost worked. The phpMyAdmin database recovered enough to let me login, however, all the other data I care about just gives a "table not found" error when I attempt to view or dump. This missing data was recovered however when using the 3rd party recovery app. I might have to turn this into an ad for recovery service to help pay for a license...

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.