diff --git a/data/class/db/dbfactory/SC_DB_DBFactory_MYSQL.php b/data/class/db/dbfactory/SC_DB_DBFactory_MYSQL.php index 1616e4bdea..db2cdaa7d4 100644 --- a/data/class/db/dbfactory/SC_DB_DBFactory_MYSQL.php +++ b/data/class/db/dbfactory/SC_DB_DBFactory_MYSQL.php @@ -360,7 +360,11 @@ public function getDummyFromClauseSql() */ public function initObjQuery(SC_Query &$objQuery) { - $objQuery->exec('SET SESSION storage_engine = InnoDB'); + if ($objQuery->conn->getConnection()->server_version >= 50705) { + $objQuery->exec('SET SESSION default_storage_engine = InnoDB'); + } else { + $objQuery->exec('SET SESSION storage_engine = InnoDB'); + } $objQuery->exec("SET SESSION sql_mode = 'ANSI'"); } } diff --git a/html/install/index.php b/html/install/index.php index 317e1a7e4f..22f7b45ebd 100644 --- a/html/install/index.php +++ b/html/install/index.php @@ -850,8 +850,12 @@ function lfExecuteSQL($filepath, $arrDsn, $disp_err = true) // MySQL 用の初期化 // XXX SC_Query を使うようにすれば、この処理は不要となる - if ($arrDsn['phptype'] === 'mysql') { - $objDB->exec('SET SESSION storage_engine = InnoDB'); + if ($arrDsn['phptype'] === 'mysqli') { + if ($objDB->getConnection()->server_version >= 50705) { + $objDB->exec('SET SESSION defaut_storage_engine = InnoDB'); + } else { + $objDB->exec('SET SESSION storage_engine = InnoDB'); + } $objDB->exec("SET SESSION sql_mode = 'ANSI'"); }