Colaborador: Luciano Marques | Analista de Redes
A partir da versão 5.6.1 do MySQL, a variável have_innodb foi descontinuada (+info). O único problema é que o Magento usava esta variável para validar as configurações de banco de dados. Por este motivo, ao realizar uma nova instalação, o Magento acabava sempre exibindo a mensagem de erro:
Database server does not support the InnoDB storage engine.
Existem 2 alternativas para esta questão, uma delas é comentar a função supportEngine. A outra é fazer com que seja verificada de outra maneira se o servidor de banco de dados MySQL possui ou não o suporte a engine InnoDB ativo.
A partir da versão 1.6.0.0 do Magento, abra o seguinte arquivo:
app/code/core/Mage/Install/Model/Installer/Db/Mysql4.php
Próximo a linha 59, procure pela função supportEngine e substitua isto:
public function supportEngine(){$variables = $this->_getConnection()->fetchPairs(‘SHOW VARIABLES’);return (!isset($variables[‘have_innodb’]) || $variables[‘have_innodb’] != ‘YES’) ? false : true;}
Por isto:
public function supportEngine(){$engine = $this->_getConnection()->fetchOne(‘SELECT Support FROM INFORMATION_SCHEMA.ENGINES WHERE Engine LIKE “innodb”‘);return (!isset($engine) || ($engine != ‘DEFAULT’ && $engine != ‘YES’)) ? false : true;}
O que você achou deste conteúdo?