Wednesday, September 13, 2006

MySQL Repair table doing "repair by sort" with no TMD tables?

This is really weird.
Today, a few of my MyISAM tables got corrupted, MySQL started repairing them. However here are the few interesting/weird things about this repair:

1. the "Repair by sorting" command was being run by User "system user"
2. No TMD tables were being created (I checked the entire drive to see if they were being created)
3. Although the "SHOW PROCESSLIST" shows the thread repairing the table, I believe it is NOT as more than 3 hours have gone by and generally the table repairs in less than an hour.

It will be great to check the process of the repair interactively. Why was the repair command issued by the slave thread? It seems like the slave thread was going to update a table, found it crashed and started repairing it.

Now that the slave thread is "hung," I am just giving it more time for graceful exit. In case it doesn't exit I will just have to kill the SLAVE_SQL thread as SLAVE_IO thread is already stopped.

I am continuing to investigate but appreciate any feedback.

The joys of having MyISAM tables,

1 comment:

Photo Recovery said...

One of the major reasons for corruption of MySQL database tables is improper or unexpected shutdown of MySQL Server. An improper shutdown can occur due to power outage or human errors. In most of these situations, you encounter an error message that makes the data stored in your MySQL tables inaccessible. To access the data stored in the tables, a perfect and easy way is to restore the data from an updated backup. But if in case, the data backup itself gets corrupted or is unable to restore the required data, then you will need to use advanced MySQL Repair application that can repair the corrupted database and recover inaccessible tables.