PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table
'<olddb>.semaphore' doesn't exist: SELECT expire, value FROM {semaphore} WHERE name = :name; Array ( [:name] => variable_init ) in lock_may_be_available() (line 167 of /<somedir>/includes/lock.inc).

When I load the site it tried to load semaphore info from the old DB.

I moved the site to a new host and renamed the database. Change the settings file. It has the right user, password, host, dbname etc.

I have cleared the cache. Running drush says that all is good. It can connect and bootstrap Drupal.

Any ideas ?

  • I assume semaphore is in the database DB as other tables? You didn't configure the old/new server for shared databases? Table prefixing is off? – Alex.Barylski Jan 27 '14 at 15:23
  • yes, all tables are there. There is no table prefixing. Drush can bootstrap Drupal, so there is a proper connection to the new database. The error message comes in the shutdown process. Renaming the database to the old name, and everything works again. – Jens Jan 28 '14 at 1:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.