Falha na Instalação do Magento

magento-instalacao-imagem-01

Falha na instalação do Magento: Database server does not support the InnoDB storage engine.

Sabemos que o Magento é uma excelente plataforma de desenvolvimento para lojas virtuais. Como todo o CMS, ele possui as suas regras e exigências para o seu perfeito funcionamento. E, claro, durante o processo de instalação, se tudo não estiver exatamente como a ferramenta exige, podem ocorrer erros no processo que impeçam a instalação do sistema.

Falha na instalação do Magento: Database server does not support the InnoDB storage engine.

Falha na instalação do Magento: Database server does not support the InnoDB storage engine.

Database server does not support the InnoDB storage engine.

Sobre o erro

Esse erro ocorre por que a database não suporta …

InnoDB.

Mesmo a sua database suportando InnoDB esse erro pode ocorrer. A questão é que nas novas versões do MySQL foi retirada a variável have_innodb. Para os iniciantes no sistema, isso representa uma enorme dor de cabeça.

Porém, acalme-se, pois é um problema bem simples de resolver!

A solução

Você deverá trocar no arquivo Mysql4.php have_innodb para InnDB que funcionará perfeitamente.

Para isso, acesse: app –> code –> core –> Mage –> Install –> Model –> Installer –> Db –> Mysql4.php

Vá até a linha 59 e identifique o código:

public function supportEngine()
 {
 $variables = $this->_getConnection()
 ->fetchPairs('SHOW VARIABLES');
 return (!isset($variables['have_innodb']) || $variables['have_innodb'] != 'YES') ? false : true;
 }

Substitua por:

public function supportEngine()
 {
 $variables = $this->_getConnection()
 ->fetchPairs('SHOW ENGINES');
 return (isset($variables['InnoDB']) && $variables['InnoDB'] != 'NO');
 }

Pronto!

Salve, atualize a página e continue a instalação do Magento.

Importante: Por ser tratar de uma alteração num arquivo de Core do Magento, o que se deve fazer com muito cuidado, eu não costume sobrescrever ou apagar. Apenas, deixo o script original comentado, como no exemplo abaixo:

 //NOVO
 public function supportEngine()
 {
 $variables = $this->_getConnection()
 ->fetchPairs('SHOW ENGINES');
 return (isset($variables['InnoDB']) && $variables['InnoDB'] != 'NO');
 }


 //ORIGINAL
 /*
 public function supportEngine()
 {
 $variables = $this->_getConnection()
 ->fetchPairs('SHOW VARIABLES');
 return (!isset($variables['have_innodb']) || $variables['have_innodb'] != 'YES') ? false : true;
 }
 */

Um abraço!

2017-01-24T20:24:09+00:00

RECEBA DICAS VALIOSAS NO SEU EMAIL

x