ネオリーマンの創業日記(新規事業への道)

サラリーマン生活に心身的な問題で限界を迎えた男の一念発起リアルストーリー

【EC-CUBE Ver2.13】サーバーバージョンアップでDBでハマった件

 

XSERVERより「最新サーバー環境(sv2001サーバー以降)へ簡単に移行できる「新サーバー簡単移行」機能提供のお知らせ」ときたので早速申請。

 

移行前に確認出来るので処々チェックしているとEC-CUBEのVer2.13系で作成したサイトが「システムエラーが発生しました。大変お手数ですが、サイト管理者までご連絡ください。」と表示される。

 

サイトにアクセスできないのでこれはDBのエラーかな?と予測を立てつつも、管理画面も開けない状況だったので、FTPにて接続しlogを確認。

「Fatal error: DB処理でエラーが発生しました。 SQL: [SET SESSION storage_engine = InnoDB] MDB2 Error: unknown error _doQuery: [Error message: Could not execute statement]...」

上記のエラーメッセージを確認することができた。

 

phpMyAdminにてDBをみてみるとInnoDBになっている。。。??どういう意味だろうと思い、エラーメッセージで検索するとこちらのサイトを発見。

 

/data/class/db/dbfactory/SC_DB_DBFactory_MYSQL.php

$objQuery->exec('SET SESSION storage_engine = InnoDB');
↓
$objQuery->exec('SET SESSION default_storage_engine = InnoDB');

 

 XSERVERの新環境はMySQLのバージョンが5.7だったので上記のようにして修正完了。動作確認もOK。

ネットプロテクションズの対応が2.13の為、バージョンダウンしたのだが意外に手間取った。