ちょっとEC-CUBE 2系を使ってみたくなったのでインストールを実行してみたら
DBの接続設定後の次の画面で以下のエラーが出た。
mysqlは5.7.9
ec-cubeは2.13.5
Fatal error: DB処理でエラーが発生しました。 SQL: [SET SESSION storage_engine = InnoDB] MDB2 Error: unknown error _doQuery: [Error message: Could not execute statement] [Last executed query: PREPARE mdb2_statement_mysql_1b92dgf5ds8728fdsc229e74bdd0fcf FROM 'SET SESSION storage_engine = InnoDB'] [Native code: 1193] [Native message: Unknown system variable 'storage_engine'] in /home/hogehoge/data/class/SC_Query.php on line 1095
SET SESSION storage_engine = InnoDB
の実行時に以下のエラーで実行できないよう
[Native message: Unknown system variable 'storage_engine']
多分mysql5.7からは上記の設定がなくなってるみたい。
インストールプログラムをトレースして以下の部分を修正して解決。
/data/class/db/dbfactory/SC_DB_DBFactory_MYSQL.php
の363行目
$objQuery->exec('SET SESSION storage_engine = InnoDB');
↓
$objQuery->exec('SET SESSION default_storage_engine = InnoDB');
というかmysql5.7ならデフォルトのエンジンはInnoDBだった気がする。