Instalação do Magento com MySQL 5.6.1+


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;
    }
Também disponibilizamos um zip contendo o arquivo modificado, basta descompactar no diretório raiz de instalação do Magento: Clique aqui para fazer o download do ZIP contendo a correção.

Comentários

comentário(s)

8 Comments

Add yours
  1. Dieter

    Boa noite! Gostaria de saber como atualizar o Magento, já que nao encontro tutorial que funcione na Kinghost. Tenho o 1.5.0.1 e quero o 1.7.0.1. Vocês tem alguma ideia de fazer um tutorial ou documentação? Abraço!

    • Kinghost

      Olá Junior
      O Magento 1.7.0.2 já encontra-se disponível via Instalador Automático, já com os devidos ajustes. Você pode realizar a instalação pela ferramenta ou solicitar mais detalhes sobre a dificuldade que você teve ao aplicar a solução do post: [email protected]

      Equipe KingHost

  2. Qaiq

    Simplesmente SENSACIONAL! Estou há muito tempo tentando instalar o magento numa localhost e sempre dava ese erro. Agora funcionou! Perfeito!

    Apenas por causa deste post, estou pensando seriamente em contartar hospedagem com vocês. Muito obrigado!

  3. paulo marques

    gostaria de agradecer e parabenizar acima de tudo este blog, que em muito se torna parte fundamental para esclarecer duvidas complexas que nos desenvolvedores nos deparamos em alguns momentos. Muito obrigado

+ Leave a Comment