Support » Plugin: Yoast SEO » Getting “unable to create db tables” but db has permission

  • Resolved peterkay

    (@peterkay)


    I’ve successfully installed the plugin on 5 websites. 2 of them, however, still generate the “Yoast SEO was unable to create the database tables required and as such will not function correctly.” error.

    I have confirmed w/ my host that all of the website using Yoast are identically configured at the host level.

    The 2 sites with the errors had the critical failure when 14.0 came out – I went into recovery mode to deactivate the plugin.

    I’ve tried the following and no different:

    Removed all other plugins
    Activated only the default themes.
    Deleted and re-installed Yoast.

    I keep getting the same result. Below is the log entry my host support sent me – hope this helps.

    PHP Fatal error: Uncaught PDOException: SQLSTATE[42S22]: Column not found: 1054 Unknown column ‘blog_id’ in ‘field list’ in /nas/content/live/aimforawe/wp-content/plugins/wordpress-seo/vendor_prefixed/j4mie/idiorm/idiorm.php:464\nStack trace:\n#0 /nas/content/live/aimforawe/wp-content/plugins/wordpress-seo/vendor_prefixed/j4mie/idiorm/idiorm.php(464): PDOStatement->execute()\n#1 /nas/content/live/aimforawe/wp-content/plugins/wordpress-seo/vendor_prefixed/j4mie/idiorm/idiorm.php(1983): YoastSEO_Vendor\\ORM::_execute(‘INSERT INTO `wp…’, Array, ‘default’)\n#2 /nas/content/live/aimforawe/wp-content/plugins/wordpress-seo/src/orm/yoast-model.php(662): YoastSEO_Vendor\\ORM->save()\n#3 /nas/content/live/aimforawe/wp-content/plugins/wordpress-seo/src/models/indexable.php(160): Yoast\\WP\\SEO\\ORM\\Yoast_Model->save()\n#4 /nas/content/live/aimforawe/wp-content/plugins/wordpress-seo/src/builders/indexable-builder.php(276): Yoast\\WP\\SEO\\Models\\Indexable->save()\n#5 /nas/content/live/aimforawe/wp-content/plugins/wordpress-seo/src/builders/indexable- in /nas/content/live/aimforawe/wp-content/plugins/wordpress-seo/vendor_prefixed/j4mie/idiorm/idiorm.php on line 464

Viewing 15 replies - 1 through 15 (of 23 total)
  • Plugin Support marcanor

    (@marcanor)

    Hi @peterkay ,

    Looking at the error, it seems there is a problem when trying to access the tables.
    Can you please try the following?:

    1. Install & activate the Yoast Test Helper plugin
    2. Go to Tools -> Yoast Test
    3. Hit the “Reset indexables & migrations” button
    4. Delete your current Yoast SEO plugin installation.
    5. Re-install Yoast SEO 14.0.2
    6. Click the “Click here to speed up your site now” button.

    Can you please let us know if this solves the issue on your site?

    Thanks @marcanor
    I had this same issue, I followed your steps and the message is gone from my site now.

    uninstalling yoast if the plugin author gives you 10 steps to fix their plugin

    i wouldn’t sleep until i fixed a bug like this, knowing it is affecting millions of websites.

    Plugin Support marcanor

    (@marcanor)

    @wpgurumagic If you are a Premium customer, please reach out to Premium support , we’ll look into the issue there.

    it seems to work on sites with free yoast that aren’t automatically updated. it seemed to work on a site with a premium version of yoast, though I was skeptical of the “smart” update, especially after another person said it would take 33 hours to complete the request, so i hid the notice on a website with 20k posts.

    it breaks on sites with free yoast with automatic updates turned on by the cpanel app installer.

    I had the same problem on one of my sites.

    From the hosting support they indicated that the error is this:
    [29-Apr-2020 05:40:13 UTC] Error Unknown collation: ‘utf8mb4’ from WordPress database for query […]

    It seems that the problem isn’t of permissions but of encoding.

    the update did take about one minute per 1000 posts on an $80/month server.

    i would imagine if you are updating several thousand posts, it would get you throttled on even a premium account of an economy shared web hosting plan, even with someone like siteground, inmotion, or a2hosting.

    yoast should have used a single large custom sql query rather than running small individual queries for each post or used a larger page setting. it isn’t about memory in today’s world, it is all about all those connections to the database.

    they should have grabbed the existing collation and used it. this type of software development is difficult when you are deploying to unknown environments. you really have to do some kind testing trial with several unknown environments.

    Thread Starter peterkay

    (@peterkay)

    Thank you @marcanor . I followed your steps and get the same result. This is on a site with no other plugin, using the Twenty Twenty theme.

    Hello,

    Performed these successfully :

    1. Install & activate the Yoast Test Helper plugin
    2. Go to Tools -> Yoast Test
    3. Hit the “Reset indexables & migrations” button
    4. Delete your current Yoast SEO plugin installation.

    However, “5. Re-install Yoast SEO 14.0.2” doesn’t work. The installation fails.

    Please advise.

    Plugin Support marcanor

    (@marcanor)

    @peterkay Are you getting the exact same error as in your first post in this thread?

    Yoast SEO 14.0.2 changes the way we access the database, so the PDO error should not be there.

    Please make sure that you’ve updated to the latest version (14.0.3 now), that you’ve cleared the tables using Yoast Test Helper, clear any caching(plugins, CDN,etc) and check if the issue persists.

    If you see a different error, can you please let us know what it is?

    Plugin Support marcanor

    (@marcanor)

    @tchsup Can you please open a new thread with more information and the exact error you are seeing?

    Thread Starter peterkay

    (@peterkay)

    @marcanor here’s what I just did and getting same “unable to create tables” error:

    – Reset indexables & migrations
    – Deleted Yoast (.03)
    – Reset indexables & migrations
    – Clear cdn cache
    – Install yoast

    I’m going to get w/ our host to get you error logs

    Thread Starter peterkay

    (@peterkay)

    @marcanor does this help? I have a much larger error file – LMK where to uplaod.

    [Thu Apr 30 15:54:31.878965 2020] [php7:notice] [pid 10218] [client 98.150.153.227:63114] WordPress database error You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘COLLATE utf8_unicode_ci /* From [aimforawestage.wpengine.com/wp-json/yoast/v1/st’ at line 1 for query ALTER TABLE wp_yoast_migrations CONVERT TO COLLATE utf8_unicode_ci /* From [aimforawestage.wpengine.com/wp-json/yoast/v1/statistics] in [/nas/content/live/aimforawestage/wp-content/plugins/wordpress-seo/lib/ruckusing-adapter.php:350] */ made by require(‘wp-blog-header.php’), require_once(‘wp-load.php’), require_once(‘wp-config.php’), require_once(‘wp-settings.php’), do_action(‘plugins_loaded’), WP_Hook->do_action, WP_Hook->apply_filters, wpseo_init, YoastSEO, Yoast\\WP\\SEO\\Main->load, Yoast\\WP\\SEO\\Loader->load, Yoast\\WP\\SEO\\Loader->load_initializers, Yoast\\WP\\SEO\\Initializers\\Migration_Runner->initialize, Yoast\\WP\\SEO\\Initializers\\Migration_Runner->run_free_migrations, Yoast\\WP\\SEO\\Initializers\\Migration_Runner->run_migrations, YoastSEO_Vendor\\Ruckusing_Task_Manager->execute, YoastSEO_Vendor\\Task_Db_Migrate->execute, YoastSEO_Vendor\\Task_Db_Migrate->prepare_to_migrate, YoastSEO_Vendor\\Task_Db_Migrate->run_migrations, AddCollationToTables->up, YoastSEO_Vendor\\Ruckusing_Migration_Base->query, Yoast\\WP\\Lib\\Ruckusing_Adapter->query, referer: https://aimforawestage.wpengine.com/wp-admin/index.php

Viewing 15 replies - 1 through 15 (of 23 total)
  • The topic ‘Getting “unable to create db tables” but db has permission’ is closed to new replies.