Secondary menu

Drupal InnoDB and MyISAM Engine issues for Cache Router and Semaphore Tables

nrussell's picture

Drupal InnoDB and MyISAM Engine issues for Cache Router and Semaphore Tables

Written by Nick Russell on

In a recent discovery credited to Aaron Stewart here at WorkHabit, it was found that there is an issue converting the cache_router and / or semaphore tables from MyISAM to InnoDB on a Pressflow database.

One of the side effects of making this change results in corrupt tables and memory issues on your database. If you considering the move to InnoDB because of high traffic, performance, etc, keep in mind that these two tables need to remain MyISAM. Additionally, if you're experiencing MYSQL issues and have already converted all your tables to InnoDB, you might want to take a peek in the database and make sure that these two tables are set to MyISAM.

To change your table's, the following commands need to be run on the MYSQL server:

mysql -uroot -proot;
use databasename;
ALTER TABLE cache_router ENGINE=MyISAM;
ALTER TABLE semaphore ENGINE=MyISAM;
exit;