• Morning

    I woke up to find that last night four of my websites went down within minutes of each other, they’re all on the same server.

    They are displaying the infamous “Error establishing a database connection” message

    So I logged into the server and added

    define(‘WP_ALLOW_REPAIR’, true); to wp-config.php and went to

    https://www.yoursite.com/wp-admin/maint/repair.php

    When I clicked the repair database button I got back this:

    wp_usermeta: Unknown storage engine 'InnoDB'
    wp_posts: Unknown storage engine 'InnoDB'
    wp_options: Unknown storage engine 'InnoDB'

    Here are the longer error messages

    The wp_usermeta table is not okay. It is reporting the following error: Unknown storage engine 'InnoDB'. WordPress will attempt to repair this table…
        Failed to repair the wp_usermeta table. Error: Unknown storage engine 'InnoDB'
    
    The wp_posts table is not okay. It is reporting the following error: Unknown storage engine 'InnoDB'. WordPress will attempt to repair this table…
        Failed to repair the wp_posts table. Error: Unknown storage engine 'InnoDB'
    
    The wp_options table is not okay. It is reporting the following error: Unknown storage engine 'InnoDB'. WordPress will attempt to repair this table…
        Failed to repair the wp_options table. Error: Unknown storage engine 'InnoDB'

    I tried the optimise and repair button too, it made no difference.

    According to this support thread:

    https://www.ads-software.com/support/topic/unknown-storage-engine-innodb#post-6173875

    That person logged logged into phpMyAdmin and changed the table from InnoDB to MYISAM, is this the correct thing to do???

    Any advice is appreciated.

    Thanks in advance.

Viewing 14 replies - 1 through 14 (of 14 total)
  • This is not a WordPress issue. Something went wrong from server end. There is no need to change storage engine from InnoDB to MyISAM. You should contact your host to find what is wrong with InnoDB storage. Most likely there is an issue with my.cnf file.

    – Kailash

    Thread Starter LordLiverpool

    (@lordliverpool)

    Thanks Kailash ??

    I will contact my hosting provider.

    Then I will report back here what they say in case anyone else has this error message in the future.

    Cheers.

    Thread Starter LordLiverpool

    (@lordliverpool)

    OK so I spoke to my web hosting provider.

    Initially they said they couldn’t help me because this was a problem with MySQL and not the hardware of the server.

    Then luckily for me a generous engineer decided to take a look at the problem.

    This is what he said:

    Good news! Your websites should be up again. It looks like one or more InnoDB log files got corrupted causing MySQL to no longer load the InnoDB engine. As InnoDB was used by all those websites, they all stopped working. I removed the corrupted files and restarted MySQL, you can find their backups in case you should ever need it in: /var/lib/mysql/ib_logfile0.bak
    /var/lib/mysql/ib_logfile1.bak

    So that clears that up.

    Thanks.

    Glad to know your issue has been fixed.

    Thread Starter LordLiverpool

    (@lordliverpool)

    Thanks for your help.

    Thread Starter LordLiverpool

    (@lordliverpool)

    OK this is not fixed

    My websites went down again today.

    My hosting Provider fixed it for me again by doing the following:

    1. Stopped MySql
    2. Renamed the corrupted log files to .bak
    3. Restarted MySQL

    He said my tables have corrupt data in them and that they will fall over gain, just a question of time.

    So I tried running repair the database tables via phpMyAdmin

    Most tables come back repaired

    but

    wp_options
    wp_posts
    wp_usermeta

    Come back with the message

    “The storage engine for the table doesn’t support repair”

    Is it safe to alter those 3 tables from InnoDB to myISAM in order to issue a repair?

    Why are my tables a mixture of the 2 engine types?

    Cheers

    Thread Starter LordLiverpool

    (@lordliverpool)

    After 5 days the same four websites have fallen over

    when I run repair.php

    I get this:

    The wp_users table is okay.
    
    The wp_usermeta table is not okay. It is reporting the following error: Unknown storage engine 'InnoDB'. WordPress will attempt to repair this table…
        Failed to repair the wp_usermeta table. Error: Unknown storage engine 'InnoDB'
    
    The wp_posts table is not okay. It is reporting the following error: Unknown storage engine 'InnoDB'. WordPress will attempt to repair this table…
        Failed to repair the wp_posts table. Error: Unknown storage engine 'InnoDB'
    
    The wp_comments table is okay.
    
    The wp_links table is okay.
    
    The wp_options table is not okay. It is reporting the following error: Unknown storage engine 'InnoDB'. WordPress will attempt to repair this table…
        Failed to repair the wp_options table. Error: Unknown storage engine 'InnoDB'
    
    The wp_postmeta table is okay.
    
    The wp_terms table is okay.
    
    The wp_term_taxonomy table is okay.
    
    The wp_term_relationships table is okay.
    
    The wp_commentmeta table is okay.
    
    Some database problems could not be repaired. Please copy-and-paste the following list of errors to the WordPress support forums to get additional assistance.
    wp_usermeta: Unknown storage engine 'InnoDB'
    wp_posts: Unknown storage engine 'InnoDB'
    wp_options: Unknown storage engine 'InnoDB'

    Can anyone help me please?

    Thread Starter LordLiverpool

    (@lordliverpool)

    I logged into cPanel and click the repair database button

    this what it said:

    The system is repairing the “wordpress_a” database.
    
    [wordpress_a.wp_commentmeta] status: OK
    [wordpress_a.wp_comments] status: OK
    [wordpress_a.wp_links] status: OK
    [wordpress_a.wp_options] Error: Unknown storage engine 'InnoDB'
    [wordpress_a.wp_options] error: Corrupt
    [wordpress_a.wp_postmeta] status: OK
    [wordpress_a.wp_posts] Error: Unknown storage engine 'InnoDB'
    [wordpress_a.wp_posts] error: Corrupt
    [wordpress_a.wp_term_relationships] status: OK
    [wordpress_a.wp_term_taxonomy] status: OK
    [wordpress_a.wp_terms] status: OK
    [wordpress_a.wp_usermeta] Error: Unknown storage engine 'InnoDB'
    [wordpress_a.wp_usermeta] error: Corrupt
    [wordpress_a.wp_users] status: OK
    [wordpress_a.wp_wfBadLeechers] status: OK
    [wordpress_a.wp_wfBlockedIPLog] status: OK
    [wordpress_a.wp_wfBlocks] status: OK
    [wordpress_a.wp_wfBlocksAdv] status: OK
    [wordpress_a.wp_wfConfig] status: OK
    [wordpress_a.wp_wfCrawlers] status: OK
    [wordpress_a.wp_wfFileMods] status: OK
    [wordpress_a.wp_wfHits] status: OK
    [wordpress_a.wp_wfHoover] status: OK
    [wordpress_a.wp_wfIssues] status: OK
    [wordpress_a.wp_wfLeechers] status: OK
    [wordpress_a.wp_wfLockedOut] status: OK
    [wordpress_a.wp_wfLocs] status: OK
    [wordpress_a.wp_wfLogins] status: OK
    [wordpress_a.wp_wfNet404s] status: OK
    [wordpress_a.wp_wfReverseCache] status: OK
    [wordpress_a.wp_wfScanners] status: OK
    [wordpress_a.wp_wfStatus] status: OK
    [wordpress_a.wp_wfThrottleLog] status: OK
    [wordpress_a.wp_wfVulnScanners] status: OK
    Repair Complete

    Why would these three tables be corrupted?

    wp_options
    wp_posts
    wp_usermate

    Cheers

    It should not be corrupted. You got that message because your MySQL server didn’t detect “InnoDB” as storage engine. Your hosting provider should be able to provide more information on this.

    I just see this message. What happened wordpress was not connecting to database. And then I restart my server. And now site is again up and running. It’s happened after installing a plugin to post rotate. And I remove that plugin. That plugin kill my sql server. And now it’s up.

    Was finding issue. And then just reading the post to get idea to restart my server. And then everything is fine as before.

    hi,

    I’m getting the same “Unknown storage engine ‘InnoDB'” error message too. I’ve tried to contact my web host to restore my website to a previous backup (so basically to a week before this issue started happening) and they have not been responsive. They keep telling me they don’t have a backup so they can’t restore it.

    I tried calling back to speak to a different person and they are suggesting that there is something wrong with my wp-config file. Where would I even start to find out if the database names/passwords are correct?

    Do you have any advice to fix it myself? The problem is, I don’t know any backend things about troubleshooting a website. It’s one of the reasons I’m using WordPress (it’s supposed to be very user friendly!).

    Thanks in advance!

    Thread Starter LordLiverpool

    (@lordliverpool)

    @jeannerrr

    How you getting on?
    Can I be of help?

    Cheers

    @lordliverpool

    I wasn’t even able to access /wp-admin! My host was finally about to figure it out after 2 weeks of calling and emailing every day! Here was their explanation/solution in case it helps out others.

    That error generally indicates the InnoDB has failed and would require an InnoDB recovery.

    It seems that the issue with MySQL is a symptom of the VPS exhausting all available memory. MySQL was able to start but there was not enough memory for INNODB. I was not able to determine what was using all of the memory. I had to restart the VPS in order to get anything to load. Once rebooted whatever was consuming the memory of course stopped and things were working as they should. You may want to consider upgrading the memory on your VPS if this continue to happen.

    Thread Starter LordLiverpool

    (@lordliverpool)

    @jeannerrr

    Thank you for your post, I am sure it will help others out.

    I too had a similar solution, but mine was the CPU. On advice of my hosting provider I upgrade my VPS from 1 CPU to 2 CPU and this fixed the problem.

    Glad you got it sorted I know how frustrating it can be when things won’t work.

    Best Regards.

Viewing 14 replies - 1 through 14 (of 14 total)
  • The topic ‘Unknown storage engine 'InnoDB'’ is closed to new replies.