Recently I had someone contact me about receiving an error message from a Joomla installation. The receiving the following error:
Error creating data base: Table ‘myjoomladatabase.v96bu_menu’
After some research I found the issue was a combination of:
1) Joomla’s table creation statements do not include a storage engine.
2) The MySQL server is defaulted to utilize the “InnoDB” storage engine.
When trying to create the “_menu” table manually I received the following from MySQL:
This can be remedied easily by either:
Joomla can be found at http://www.joomla.org/
MySQL can be found at http://www.mysql.com/
Unfortunately the key buffer iestlf has a big fat mutex around it (one per key buffer, that is, just one unless you use multiple key buffers), which is taken any time anyone modifies the key buffer (which includes bringing pages in AND out of it, which is done by selects as well as updates).This means that operations which do a large amount of key buffer work effectively block up the entire server even if they’re operating on an entirely different table.The example we see, is doing a lot of inserts with DELAY_KEY_WRITE on, then doing a flush table on that table. It effectively stops the world during the flush no index on any table at all may be touched whatsoever.