Support » Fixing WordPress » Error 500 After Upgrade – termmeta table doesn'T exist

  • Hello,
    I just upgraded to the new version 4.4 and after hitting the “database upgrade” button, all the pages started giving me an Error 500.
    After disabling the theme and the plugins with no positive result, I investigated by analyzing the error.log.
    There I find a huge number of the following errors:

    The full messages look like this
    WordPress database error Table 'mbi.wp_termmeta' doesn't exist for query SELECT term_id, meta_key, meta_value FROM wp_termmeta WHERE term_id IN (959,2150,1298,2609,2,9,5,318,2087,377,283,7,3,1,4,6) ORDER BY meta_id ASC made by require_once('wp-admin/admin.php'), require_once('wp-load.php'), require_once('wp-config.php'), require_once('wp-settings.php'), include('/themes/v1/functions.php'),

    I also found this message at the beginning of the errors:
    WordPress database error CREATE command denied to user 'mbi'@'localhost' for table 'wp_termmeta' for query \nCREATE TABLE wp_termmeta (\n meta_id bigint(20) unsigned NOT NULL auto_increment,\n term_id bigint(20) unsigned NOT NULL default '0',\n meta_key varchar(255) default NULL,\n meta_value longtext,\n PRIMARY KEY (meta_id),\n KEY term_id (term_id),\n KEY meta_key (meta_key(191))\n) made by wp_upgrade, make_db_current_silent, dbDelta, referer: /wp-admin/upgrade.php?_wp_http_referer=%2Fwp-admin%2Fabout.php%3Fupdated

    I googled a lot and searched in the forum here but couldn’t find out how to fix this. All I know is that it seems to be a new table that should have been created during the upgrade – if I am not wrong.
    is there any way to run the wordpress database upgrade again?

    I wanted to optimize my blog for an important presentation tomorrow morning but now I am stuck at this point.
    Any help to solve this issue is much appreciated.

    Kind regards.

Viewing 11 replies - 1 through 11 (of 11 total)
  • Moderator t-p

    (@t-p)

    Internal server errors (error 500) are often caused by plugin or theme function conflicts, so if you have access to your admin panel, try deactivating all plugins. If you don’t have access to your admin panel, try manually resetting your plugins (no Dashboard access required). If that resolves the issue, reactivate each one individually until you find the cause.

    If that does not resolve the issue, try switching to the default theme for your version of WordPress to rule-out a theme-specific issue. If you don’t have access to your admin panel, access your server via FTP or SFTP, navigate to /wp-content/themes/ and rename the directory of your currently active theme. This will force the default theme to activate and hopefully rule-out a theme-specific issue.

    If that does not resolve the issue, it’s possible that a .htaccess rule could be the source of the problem. To check for this, access your server via FTP or SFTP and rename the .htaccess file. If you can’t find a .htaccess file, make sure that you have set your FTP or SFTP client to view invisible files.

    If all the above steps do not resolve the issue, then try MANUALLY updating. Download a fresh copy of the WordPress .zip file to your computer, unzip it, and use that to copy up all files and folders EXCEPT the wp-config.php file and the /wp-content/ directory. You may need to delete the old wp-admin and wp-includes folders and files on your server before uploading the new ones. Read the Manual Update directions first.

    If you weren’t able to resolve the issue by either resetting your plugins and theme or renaming your .htaccess file, we may be able to help, but we’ll need a more detailed error message. Internal server errors are usually described in more detail in the server error log. If you have access to your server error log, generate the error again, note the date and time, then immediately check your server error log for any errors that occurred during that time period. If you don’t have access to your server error log, ask your hosting provider to look for you.

    You should create the termmeta table by yourself

    `

    CREATE TABLE IF NOT EXISTS wp_termmeta (
    meta_id bigint(20) unsigned NOT NULL,
    term_id bigint(20) unsigned NOT NULL DEFAULT ‘0’,
    meta_key varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
    meta_value longtext COLLATE utf8mb4_unicode_ci
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


    — Indexes for dumped tables


    — Indexes for table wp_termmeta

    ALTER TABLE wp_termmeta
    ADD PRIMARY KEY (meta_id),
    ADD KEY term_id (term_id),
    ADD KEY meta_key (meta_key(191));


    — AUTO_INCREMENT for dumped tables


    — AUTO_INCREMENT for table wp_termmeta

    ALTER TABLE wp_termmeta
    MODIFY meta_id bigint(20) unsigned NOT NULL AUTO_INCREMENT;
    `

    Hi Xie : thank you for your rapid response. My 4.3 -> 4.4 update at Godaddy/Plesk failed (not sure why – some access rights issues on Plesk maybe). I now get WordPress database error Table ‘wesmith104_foun.L5fjV3F9_termmeta’ doesn’t exist for query SELECT term_id, meta_key, meta_value FROM L5fjV3F9_termmeta WHERE term_id IN (1) ORDER BY meta_id ASC made by require(‘G:\PleskVhosts\wesmith104.com\httpdocs\cattlepointfoundation\wp-blog-header.php’), require_once(‘G:\PleskVhosts\wesmith104.com\httpdocs\cattlepointfoundation\wp-includes\template-loader.php’), include(‘G:\PleskVhosts\wesmith104.com\httpdocs\cattlepointfoundation\wp-content\themes\themes\twentyfourteen\page.php’), get_sidebar, locate_template, load_template, require_once(‘G:\PleskVhosts\wesmith104.com\httpdocs\cattlepointfoundation\wp-content\themes\themes\twentyfourteen\sidebar.php’), dynamic_sidebar, call_user_func_array, WP_Widget->display_callback, WP_Widget_Categories->widget, wp_list_categories, get_categories, get_terms, update_termmeta_cache, update_meta_cache

    Please could you help. Godaddy expert level support has no idea how to add the missing “termmeta” table. I have no SQL expertise but could perhaps run a SQL command in phpAdmin

    Your post would be much easier to follow for someone like me NOT skilled in mySQL if I could simply paste the whole thing into Notepad; add my own database prefix “wesmith104_foun.L5fjV3F9” and the execute was all I needed to do.

    I believe this is going to be a serious issue for Godaddy. And anyone upgrading from WP4.3 -> 4.4

    I am having the same issue. Not sure whats going on.

    Moderator t-p

    (@t-p)

    According to the 4.4 Master list:

  • Plesk Updates: There is a problem with Plesk’s provided WordPress 4.4 updater. If you use Plesk’s application updates, you’ll have to update via Dashboard -> Updates in your site’s Dashboard or manually.
  • Moderator t-p

    (@t-p)

    @thegrid22593,

    If the above info didn’t help you, then, as per the Forum Welcome, please post your own topic. That way you stand a good chance of getting full attention to your specific issue. Despite any similarity in symptoms, your issue is likely to be completely different because of possible differences in physical servers, accounts, hosts, plugins, theme, configurations, etc. Thus one problem, on one setup is not indicative of the functionality and reliability of an application as a whole.

    Odin/Plesk report : https://kb.odin.com/en/127725

    WordPress Toolkit problem after check for updates: cannot update to WordPress 4.4
    Article ID: 127725, created on Dec 9, 2015, last review on Dec 14, 2015
    APPLIES TO:
    Plesk 12.5 for Linux
    Plesk 12.0 for Linux
    Plesk 12.5 for Windows
    Plesk 12.0 for Windows
    Symptoms
    Wordpress installations are shown broken in the WordPress Toolkit.
    URL, Version, Plugins, Themes are empty, only the name shows the installation path and the owner are shown.
    All Installations in the toolkit are not checkable now because “not connected” and have a yellow warning sign in front with the following:

    Not sure if Godaddy need to apply fix to every PLESK server?

    In my case I believe the failure of the last step of the WP 4.4 upgrade on Godaddy/Plesk- which caused key tables not to be added to the mySQL database, was due to an ongoing “access rights” issues. This is the reason many staff at Godaddy repeatedly advise switching websites from Plesk/Windows to Linux.

    Hopefully the fix now provided by Plesk to Godaddy will solve this once and for all.

    My own question is will this be applied automatically to all shared servers. And will godaddy inform me when completed so I can try to upgrade again?

    You can add this table again. Get the code from here https://gist.github.com/anonymous/80fb467852c2c71a5168. Place this code in your functions.php file in your theme’s directory and refresh. You can delete the code after it’s added the table.

    @gavin310 work for me, great job. thanks

    @gavin310: Thx, works like a charm!

Viewing 11 replies - 1 through 11 (of 11 total)
  • The topic ‘Error 500 After Upgrade – termmeta table doesn'T exist’ is closed to new replies.