天使と悪魔選手権

phpMyadminでどうしてもinnoDBが有効になりません。

ローカル環境

phpMyAdmin - 2.11.4
MySQL クライアントのバージョン: 5.0.51a

ストレートエンジンをMyISAMで開発を行っていましたが、
innoDBに変更することにしました。

色んなサイトを拝見しましたが、どうも有効になってくれません。
対処した項目を書きます。

(1) my.cnf内のskip-innodbをコメントアウト

(2) 数回XAMPPのコントロールパネルからMySQLを再起動

(3) ログファイルib_logfileの確認 <無し>
  (ログファイルが生まれていれば、xampp/mysql/data/ ← この中に生まれますよね?)

(4) (3)のログファイルがあれば、それを削除しようと思いましたが見つかりませんので、
  無視しました。このログファイルは、my.cnf内のinnodb_log_file_size = デフォルト値を
  変更した場合、既に生まれているログファイルのサイズと異なっていらば、エラーとなるらしく、
  まあ、一度もinnoDBにてテーブルを作成していないので、ログが生まれるはずもなく・・・
   一応ケアーしてみました。

いかがでしょうか?

これら以外に、innoDBがphpMyadminで有効になってくれない理由がありますでしょうか?
かなりハマッてます・・・。お助け下さい。。

A 回答 (1件)

phpMyAdminのホームにエンジンというタグがあります。


そこで表示されるInnoDBの表示が暗くなっていると思います。
InnoDB文字をクリックすると、設定詳細が見れます。

参考になりそうなサイトを貼っておきます。
ttp://www.koikikukan.com/archives/2009/10/03-025555.php
ttp://blog.still-laughin.com/archives/2010/02/innodb.html

この回答への補足

回答ありがとうございます。
phpMyadmin内にあるInnoDBの詳細情報も確認しております。
全てグレーになっており、そのinnoDBをクリックして中身を覗くと、
InnoDB は無効になっています 。

と表示されています。

また、参考サイトありがとうございます。
全てすでに拝見済みのものでした。

1点気がかりなのが、
my.cofの編集はわかるのですが、
my_example というファイルもございます。
この中身は、デフォルトの状態ですので、skip-innodb はコメントアウトしてないものです。
このファイルは関係ありませんょね?

<一応、my.cofの編集済み該当箇所をしめします。>
# Comment the following if you are using InnoDB tables
#skip-innodb
innodb_data_home_dir = "C:/xampp/mysql/"
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = "C:/xampp/mysql/"
innodb_log_arch_dir = "C:/xampp/mysql/"
## You can set .._buffer_pool_size up to 50 - 80 %
## of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 256M
innodb_additional_mem_pool_size = 2M
## Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 64M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
innodb_flush_method = O_DIRECT

補足日時:2010/09/10 05:08
    • good
    • 0
この回答へのお礼

只今!解決しました!

ボンミスです。。。 はまりました・・・軽く7時間・・・。

my.cnf の innoDB設定行を示しましたが、
その最終行に、

innodb_flush_method = O_DIRECT

を、追記していました。
デフォではこの一文はなく、私が勝手に追記し、
これで通るものだと思い込んで、ずっとそれを忘れていました・・・。
あいたたたた・・・・。

innodb_flush_method = O_DIRECT 

を取り除きますと、見事にinnoDBが使用可能になりました。
助かりました。有難うございます。

お礼日時:2010/09/10 06:04

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す


おすすめ情報