新しいMAMPを使ってXoopsCube2.1系をインストールするとMySQLのバージョンが変わっている為エラーが起こる。以前、suinさんに教えてもらい、インストールはsuinさんの言うがまま修正したら対応できたものの、その後、自分一人になって新しくモジュールをいれようとすると、こんなエラーが起こるのであらためて確認して、わかったことをブログに載せておく。
↓ これが新しいモジュールをインストールすると表示されるエラー
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘TYPE=MyISAM’ at line 9
外部認証モジュール モジュールのインストールに失敗しました
Force Uninstallation is started.
で、そもそもの原因は、MySQLバージョン4から5に上がった際に、”TYPE = MyISAM”という使い方ができなくなったことだそうな。で、Google先生に確認したところ、下記のサイトを発見。
MySQLバージョン4.x以前からエクスポートしたsqlファイルはTYPE = MyISAM を ENGINE = MyISAM に変更する | きほんのき
ということで、XoopsCubeで新しいモジュールをインストールするときに、上記のようなエラーが出たときの解決方法
まずはエラーが出るモジュールのなかの、sqlというフォルダのmysql.sqlファイルをエディタで開く
で、問題を起こしているのは、”TYPE=MyISAM”というところなので、エディタで検索し一括置換する。ちなみに私の使っているのはCotEditorです。
このようにして、mysql.sqlを上書き保存。
改めてモジュールをインストールすると、
無事にインストール完了!
ちなみに、今もPHPの勉強をしているのですが、PHPとMySQLをセットで勉強するには、この本がすっごくおすすめ。オライリーの本って、固くて自分には向いてないと思ってたけど、この本はすっごくいいです。