InnoDB is #1. All other MySQL table types are #2 or lower.

InnoDB Disabled; –skip-innodb Not Declared

August 16th, 2009
Tags: ,

So, actually doing some performance tuning on my box, while shooting out random Linux commands to customers. Like a boss. On a boat.

MyISAM sucks, and it sucks hard.

InnoDB, on the other hand, rules over MyISAM like a Dominatrix rules over a fat politician in a black leather mask. Why? It’s all in the locking mechanisms. I’ll leave it to you to dig up information on that, what concerns us is what to do when:

ALTER TABLE tablename ENGINE=INNODB;

…does nothing. Well, the first thing you do is bang your head on your desk. After that, this is a good idea:

SHOW ENGINES;

Chances are, InnoDB is showing up as disabled. But why? Your MySQL configuration pointedly lacks the –skip-innodb directive, does it not?

Check your InnoDB files. EG, ibdata1, ib_logfile0, ib_logfile1, etc.

Somehow, I contrived to end up with an ibdata1 file, at least, that did not match the initial size I had declared it to be in my.cnf. Since this is a fresh install, the solution was to simply remove the ib* files and restart MySQL.

Blargh.