CentOS5.5の環境でMySQLを使っているとき、phpMyAdminを使ってテーブルをinnoDBにしようと思ったら・・・。あれ、できない、なんで。
たしかinnoDBはMySQL5から使えるようになったから大丈夫なはずなのに。いちおうMySQLのバージョンを確認してみると5.0.77。大丈夫なはずだよね。
とりあえず調べてみた。しかし情報が意外と少ない。そもそもこんなことで誰も悩まないのか、それともみんなあきらめがいいのか。
こちらのブログにひとつの方法が書いてあった。CentOS5.4でMySQL5.1ということでうちとは少し違うけど。my.cnfに2行ほど書き加えて、innoDBを使えるようにするというものだった。どうもその記述方法をみるとinnoDBがプラグインで動作しているような・・・。そんなんだったかなぁ。って調べてみたら5.1からプラグインがどうこうという情報がたくさんある。どうやら自分のところの5.0とは関係の無い話らしい。
しょうがないのでmy.cnfを確認。そして現時点でinnoDBを使えているサーバのmy.cnfも確認。そこに決定的な違いがあった。
skip-innodb
innoDBが使えない方のサーバの設定ファイルにはこんな記述が。なんじゃそりゃ。これは意図的にサーバ会社がこんなふうに設定していたのだろうか。よくわからない。
とりあえず使えている方のサーバには記述がないので、いったんmysqlを停止し、上記の行をコメントアウトしてmysqlを再起動。これで無事innoDBが使えるようになった(ように見えるだけかもしれないけれど)。
よかった。