XoopsCube2.1系でyour MySQL server version for the right syntax to use near ‘TYPE=MyISAM’というエラーが出たときの対処方法

新しい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ファイルをエディタで開く

sql

で、問題を起こしているのは、”TYPE=MyISAM”というところなので、エディタで検索し一括置換する。ちなみに私の使っているのはCotEditorです。

このようにして、mysql.sqlを上書き保存。

改めてモジュールをインストールすると、

XOOPS Cube Site : 管理メニュー : 互換モジュール

無事にインストール完了!

ちなみに、今もPHPの勉強をしているのですが、PHPとMySQLをセットで勉強するには、この本がすっごくおすすめ。オライリーの本って、固くて自分には向いてないと思ってたけど、この本はすっごくいいです。