The other day I noticed that my WordPress site (ShoutMeloud) started responding slow and at times it was giving error connecting database issue. At many instance it was giving me following error “Connection lost. Saving has been disabled until you’re reconnected.
It was unusual, as my traffic was consistent and there was n change in server configuration. For the first few time I simply ignored this issue and today I ran into another issue with comment moderation. Even after accepting or trashing the comments, it was re-appearing.
With that I was sure something is wrong with the database and I thought of repairing my database. Instead of using WP DB-manager plugin or WP-optimize plugin, I straight away used PHPMyAdmin to repair and optimise my database.
For the first time I encountered something very unusual as I noticed few of my WordPress database tables couldn’t be repaired. Here is what error message looked like:
wp_se_blc_instances: The storage engine for the table doesn’t support repair
wp_se_blc_links: The storage engine for the table doesn’t support repair
Notice the “The storage engine for the table doesn’t support repair” and when I checked my WordPress database overhead, I was stunned as overhead size was about 5320GiB.
I straight away Pinged my hosting support team but they couldn’t any help as this was an issue with database and not the hosting. So I started searching for a solution to this issue and finally I figured out what could be done to fix error “The storage engine for the table doesn’t support repair“.
Convert InnoDB MySQL Engine to MyISAM – SQL Query
I researched about the issue and understood that InnoDB and MyISAM are two popular MySQL Engine. MyISAM is the one which supports mysqlcheck’s repair feature. InnoDB engine is recommended for busy database but in this case I was facing issues with excessive database overhead, so I decided to move my tables back to MyISAM engine.
If you are also facing the similar issue, the solution is to convert the InnoDB to MyISAM engine. Here I’m sharing the SQL query which you need to run to convert the tables one by one.
Note: Do take a complete backup of your database before running this SQL query. If something goes wrong, you should be in a condition to restore your database.
ALTER TABLE tablename ENGINE=MyISAM;
Replace table name with your database table name which you want to be converted into MyISAM. After repeating that for all the tables, do repair and optimise your database.
For me, this fixed my problem of WordPress database. If you ever run into similar kind of situation, this would help you. Don’t forget to take your database backup before running any SQL query.
3 thoughts on “[Fix] WordPress Database table doesn’t support repair Error”
Did you revert back to InnoDB from MyISAM after the repair? Is that even possible?
I am asking this because you mentioned that InnoDB is better suited for buiser databases, so big sites will tend to prefer it. Can one use that engine after the repair is complete?
I’m glad You were able to fix the problem and extra glad you shared it with us.. From what you explained, I definitely don’t pray for this. If it happens, harsh be sure to hear from me, cause I am sure not cut out for that 🙂 ..
Do make the day great.
I had similar problem where I was playing with theme code all my site shutdown ( I couldn’t to go admin panel any more ) so I had to call my hosting team to figure out how to go back, they asked me to go to cpanel and and open mysqlphpadmin and edit the theme options and change it to twenty fifteen theme and it worked just fine!