テーブル作成時InnoDBが勝手にMyISAMになる

InnoDBが有効か確認

mysql> show variables like 'have_innodb'

+---------------+-------+
Variable_name    Value
+---------------+-------+   
have_innodb  NO
+---------------+-------+
1 row in set (0.00 sec)

なってない
ログを見てみる

InnoDB: Error: log file ./ib_logfile0 is of different size 0 268435456 bytes
InnoDB: than specified in the .cnf file 0 5242880  bytes!
[ERROR] Plugin 'InnoDB' init function returned error.
[ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
[ERROR] Unknown/unsupported storage engine: InnoDB
[ERROR] Aborting

logfileのサイズが設定値をオーバーしていたためInnoDBがエラーになっていました
logfileを削除して再起動したらちゃんとInnoDBが有効になりました
logfileを削除したくない場合は、my.cnfのinnodb-log-file-sizeを大きくすれば良いらしい

PRACTICE

  • テーブルのステータス確認

    show table status like 'hoge'

参考

InnoDBログファイル - MySQL Practice Wiki
MySQL :: MySQL 4.1 リファレンスマニュアル :: 7 MySQL のテーブル型