Not just a bug

August 25th, 2009

Today I moved our main MySQL database from one server to a fresh new one and of course I had to configure the new mysql daemon for heavy load and much more memory like I always do.

Nothing exotic so far. However, MySQL (5.0, Debian Lenny) comes with a default InnoDB whatsoever with empty InnoDB data and it is now the second time for me, that the InnoDB engine was silently disabled by the MySQL daemon after changing the configuration to something usable. The only way to solve this issue is, to delete all the empty default InnoDB files from /var/lib/mysql and restart the database server. From then on, InnoDB shows up in “SHOW ENGINES” again.

But the clue is: When importing InnoDB tables, there is no error, no warning, no notice that InnoDB is disabled and all tables silently fall back to MyISAM while killing every single foreign key and not using the tweaked InnoDB settings (because there is none) at all. What a mess.

As you can guess, I will have much fun for the next few days switching hundreds of tables back to InnoDB and recreating every single foreign key after tidying up the unreferenced mess. Hooray!

Leave a Reply