2月 02

この記事をブックマークする : このページをはてなブックマークに追加 このページをLivedoorクリップ! このページをニフティクリップに登録 newsing it! このページをdel.icio.usに登録 このページをBuzzurlにブックマーク

こんにちはタガヤです。

いろいろとキャリアを積んだボクでも、日々勉強することがたくさんあります。
それだけ問題が起きてるってことですけども。
いやー、トラブルシューティングって楽しいですw(ドMか?)

さて今回見舞われたトラブルですが、
VineLinux4.2 に Tritonn をRPMでインストールして使ってます。
トランザクションが大目のテーブルには、InnoDBを使おうと思ったら、
InnoDBでCreateしても、作成されるテーブルはMyISAMになってしまいます。


mysql > SHOW INNODB STATUS;


するとエラーメッセージが表示されます。


ERROR 1235 (42000): Cannot call SHOW INNODB STATUS because skip-innodb is defined


skip-innodb なんて有効にしてたっけか?と思いつつ、
/etc/my.cnf をチェックします。

コメントアウトどころか、そんな記述さえありません。
もちろん、InnoDBの設定記述のコメントアウトは解除してます。

つまり、このエラーメッセージは間違いなのです。
さらに掘り下げて、InnoDBの状態を見てみます。


mysql > SHOW ENGINES;
mysql > SHOW VARIABLES LIKE 'have_innodb';
mysql > SHOW TABLE STATUS;


恐らくInnoDBが有効になっていないことがわかると思います。

可能性として、設定ファイルの記述内容がMySQL5に対応していない
場合が考えられますので、記述を変更します。

#innodb_data_file_path = ibdata1:10M:autoextend
innodb_data_file_path = ibdata1:10M:autoextend:max:128M
※設定内容は適宜読み替えてください

これでも改善が見られない場合、エラーログにヒントがあるかも知れません。

InnoDB: Error: data file /var/lib/mysql/ibdata1 is of a different size

ありました(汗)

どうせバックアップ取らなきゃいけないデータなんてないので、
一旦、コイツらを削除しました。

そしてmysql を再起動して、エラーをはかなくなったことを確認しました。

すると、やっと InnoDBが使えるようになりましたとさ。
参考になったサイトが英語だったので、わかりやすくはしょって日本語にしました。

http://www.xaprb.com/blog/2007/03/08/what-to-do-when-mysql-says-skip-innodb-is-defined/

この記事をブックマークする : このページをはてなブックマークに追加 このページをLivedoorクリップ! このページをニフティクリップに登録 newsing it! このページをdel.icio.usに登録 このページをBuzzurlにブックマーク

Comments are closed.