2013-06-24 9 views
8

Sto cercando di installare Magento su un server locale utilizzando WAMP. InnoDB è impostato come motore predefinito ma continua a visualizzare il messaggio:InnoDB funziona, mostrando ancora "Il server database non supporta il messaggio del motore di archiviazione InnoDB"

Il server di database non supporta il motore di archiviazione InnoDB.

Davvero non so cosa fare. Qualcuno può aiutare?

+0

Forse questo aiuto: [Magento-1.7-può-non-essere-installato-con-MySQL -5.6] (http://www.joomlacreator.com/blog/Magento-1.7-can-not-be-installed-with-MySQL-5.6-due-to-the-lack-of-InnoDB-storage-engine) –

+0

Dai un'occhiata a http://stackoverflow.com/questions/15443448/magento-complains-missing-innodb-when-it-is-available –

risposta

3

Se ricordo correttamente WAMP Server viene fornito con innodb disabilitato, ma è un lavoro semplice attivarlo.

Modificare il my.ini (utilizzare i menu wampmanager di modificarla)

Cercare questa linea, la sua più o meno intorno alla linea 90 - 100, si vedrà una serie di paramteters tutto commentata. Rimuovi il numero # in modo che non sia più un commento. Potresti dover fare un po 'di ricerche su cosa significano i parametri e poi potresti dover fare qualche tweeking per far funzionare innodb bene, ma solo la loro decompressione dovrebbe attivare innodb.

# Uncomment the following if you are using InnoDB tables 
innodb_data_home_dir = D:/wamp/bin/mysql/mysql5.5.28/data/ 
innodb_data_file_path = ibdata1:64M:autoextend 
innodb_log_group_home_dir = D:/wamp/bin/mysql/mysql5.5.28/data/ 
# You can set .._buffer_pool_size up to 50 - 80 % 
# of RAM but beware of setting memory usage too high 
innodb_buffer_pool_size = 16M 
innodb_additional_mem_pool_size = 4M 

Riavviare il servizio MySQL dopo aver modificato e salvato il file ini.

30

Vai alla linea 59 del file app/code/core/Mage/Install/Modello/installatore/Db/Mysql4.php

Sostituire:

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

Con questo:

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

Grazie. Risposta perfetta! –

+0

Grazie! Buon lavoro! –

+0

Grazie Carissimi, Works Fine –

0

1) Elimina e incolla nuovamente Magento

2) Vai a MySQL >> my.ini e modifica il codice di seguito (verifica numero di rsion):

# Uncomment the following if you are using InnoDB tables 
innodb_data_home_dir = D:/wamp/bin/mysql/mysql5.5.28/data/ 
innodb_data_file_path = ibdata1:10M:autoextend 
innodb_log_group_home_dir = D:/wamp/bin/mysql/mysql5.5.28/data/ 
# You can set .._buffer_pool_size up to 50 - 80 % 
# of RAM but beware of setting memory usage too high 
innodb_buffer_pool_size = 16M 
innodb_additional_mem_pool_size = 4M 

3) Vai app/code/core/Mage/Install/Modello/installatore/Db/Mysql4.php e modificare il codice di seguito:

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

4) Vai su phpMyAdmin e assicurati che l'utente sia su host 127.0.0.1 (non "localhost" non qualsiasi "%")

Non avrei potuto farlo funzionare senza il contributo di persone su questo sito, quindi il il merito va ai due sopra me e ad altri utenti da altre pagine.

Questo dovrebbe, si spera, risolvere tutti i problemi, ha funzionato con me.

0

Si verifica perché la versione più recente non supporta la memoria di innodb. Per favore basta installare la versione precedente di mysql di Wamp dal loro sito ufficiale. Non è necessario installare la palude completa. Solo il mysql. E quando richiesto basta selezionare la versione giusta di mysql da wamp.

4

Ho riscontrato questo errore nell'installazione predefinita dal downloader.

perché il downloader si è basato sulla variabile have_innodb, ovvero da mysql versione 5.6.1.la documentazione disponibile e ufficiali (http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_have_innodb) dichiara di usare "MOSTRA MOTORI", invece, ho modificato il file downloader di conseguenza:

/** 
* Check availabe InnoDB on database. 
* 
* @return Magento_Downloader_Validator 
*/ 
protected function _checkDbInnoDb() 
{ 
    if (!$this->_connection) { 
     return $this; 
    } 

    $result = $this->_connection->query('SHOW ENGINES'); 
    while($row = $result->fetch()){ 
     if($row["Engine"] == "InnoDB" && $row["Support"] != "NO"){ 
      $this->addMessage('Database server supports InnoDB storage engine'); 
      return $this; 
     } 
    } 
    $this->addError('Database server does not support InnoDB storage engine'); 
    return $this; 
} 
Problemi correlati