2013-06-24 11 views
8

Próbuję zainstalować Magento na lokalnym serwerze przy użyciu WAMP. InnoDB jest ustawiony jako domyślny, ale nadal wyświetla komunikat:InnoDB działa, wciąż wyświetla "Serwer bazy danych nie obsługuje komunikatu silnika magazynu InnoDB"

Serwer bazy danych nie obsługuje mechanizmu magazynowania InnoDB.

Naprawdę nie wiem, co robić. Czy ktoś może pomóc?

+0

Może to pomoże: [Magento-1,7-can-nie-być instalowane-with-mysql -5.6] (http://www.joomlacreator.com/blog/MagSo- 1-7-can-nie-instalowany-z -MySQL-5.6-due-to-lack-In-InnoDB-storage-engine) –

+0

Spójrz na @ http://stackoverflow.com/questions/15443448/magento-complains-missing-innodb-when-it-is-avable –

Odpowiedz

3

Jeśli dobrze pamiętam, serwer WAMP ma wyłączoną obsługę innodb, ale aktywacja jest prosta.

Edycja my.ini (użyj menu wampmanager go edytować)

szukać tej linii, jej grubsza wokół linii 90 - 100, zobaczysz zestaw paramteters wszystko odkomentowanymi. Usuń #, więc nie jest już komentarzem. Być może będziesz musiał zrobić mały reasearch na to, co oznaczają parametry, a następnie być może trzeba zrobić kilka korekt, aby uzyskać innodb działa dobrze, ale po prostu odkomentowanie ich powinno aktywować 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 

Zrestartuj usługę MySQL po zmianie i zapisaniu pliku ini.

30

Idź do linii 59 pliku app/code/core/Mage/Instalacja/Model/Instalator/db/Mysql4.php

Wymienić:

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

z tym:

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

Dzięki .Real odpowiedź! –

+0

Dzięki! Dobra robota! –

+0

Dziękuję. Kochanie, działa dobrze –

0

1) Usuń i wklej ponownie Magento

2) Przejdź do MySQL >> my.ini i zmień kod na następujący (check ve Numer 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) Idź do app/code/rdzeń/Mage/install/model/instalator/db/Mysql4.php i zmienić kod do następujących:

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

4 Przejdź do phpMyAdmin i upewnij się, że Twój użytkownik jest na hoście 127.0.0.1 (nie "localhost" ani "%").

Nie działałbym bez pomocy ludzi na tej stronie, więc Kredyt trafia do dwóch przede mną i kilku innych użytkowników z innych stron.

To powinno naprawić wszystkie problemy, zadziałało to we mnie.

0

To się dzieje, ponieważ nowsza wersja nie obsługuje pamięci innodb. Proszę po prostu zainstaluj poprzednią wersję mysql of Wamp ze swojej oficjalnej strony. Nie ma potrzeby instalowania kompletnego wampla. Tylko mysql. A gdy trzeba, po prostu wybierz odpowiednią wersję mysql z wamp. .

4

Napotkano ten błąd podczas domyślnej instalacji z programu do pobierania.

ponieważ downloader korzystał ze zmiennej has_innodb, czyli z wersji mysql 5.6.1.niedostępny i oficjalna dokumentacja (http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_have_innodb) stwierdza używać "POKAŻ SILNIKI" zamiast, ja zmodyfikowany plik downloader Odpowiednio:

/** 
* 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; 
}