Próbowałem zainstalować Magento, ale kiedy próbuję zainstalować Magento z przeglądarki, pojawia się komunikat „ Błąd połączenia z bazą danych ” podczas instalacji Magento.
Próbowałem zainstalować Magento, ale kiedy próbuję zainstalować Magento z przeglądarki, pojawia się komunikat „ Błąd połączenia z bazą danych ” podczas instalacji Magento.
Odpowiedzi:
Przede wszystkim sprawdź nazwę użytkownika i hasło do bazy danych. Zanim przejdziesz do tego kroku, powinieneś już skonfigurować bazę danych w MySQL. Musisz utworzyć użytkownika i przyznać mu uprawnienia dostępu.
Następnie sprawdź konfigurację serwera MySQL. Domyślny numer portu to 3306. Administrator systemu może jednak zmienić go na inny. Lub jeśli używasz pakietów oprogramowania, takich jak MAMP / WAMP, numer portu może być ustawiony na wartość inną niż 3306. W takich przypadkach musisz jawnie wpisać numer portu w polu Host.
Jeśli wszystkie są poprawne i nadal występuje błąd połączenia z bazą danych, możesz spróbować użyć konta root, aby uzyskać dostęp do bazy danych. Jeśli root działa, oznacza to, że występują problemy z uprawnieniami w ustawieniach MySQL. Chociaż nie zaleca się korzystania z konta root do przyszłego wdrożenia produkcyjnego, ponieważ zwiększa to ryzyko bezpieczeństwa dla serwera.
To dość stare pytanie, ale ostatnio się z nim spotkałem i mam nadzieję, że ta odpowiedź pomoże komuś innemu. Mój problem sprowadza się do starej wersji Magento na nowej instalacji WAMP. Od MySQL 5.6.1 zmienna have_innodb została usunięta. Jednak instalator Magento sprawdza tę zmienną i zgłasza błąd, jeśli go nie znajdzie. Jeśli faktycznie sprawdzisz dziennik wyjątków, zobaczysz błąd, że serwer bazy danych nie obsługuje InnoDB. Jednak w module obsługi catch rejestruje tylko ten wyjątek i generuje ogólny komunikat „Błąd połączenia z bazą danych”.
Najprostszym rozwiązaniem, jeśli jesteś pewien, że twoja baza danych obsługuje InnoDB, jest po prostu edytować app\code\core\Mage\Install\Model\Installer\Db.php
, znaleźć checkDatabase
metodę i skomentować część na końcu bloku try, który sprawdza have_innodb
. Zwykle nie zalecałbym edytowania podstawowych plików, ale służy to tylko uruchomieniu instalatora, więc powiedziałbym, że jest wystarczająco bezpieczny.
app/code/core/Mage/Install/Model/Installer/Db.php
checkDatabase($data)
funkcjęNa końcu tej funkcji znajduje się następujący kod:
Mage::throwException(Mage::helper('install')->__('Database connection error.'));
Zmień to na następujące:
Mage::throwException(Mage::helper('install')->__($e->getMessage()));
Przejdź do przeglądarki, w której instalujesz Magento, kliknij Continue
przycisk
W moim przypadku pojawia się następujący komunikat o błędzie:
Serwer bazy danych nie obsługuje silnika pamięci InnoDB.
Aby rozwiązać ten problem, skomentowałem sprawdzenie InnoDB w tej samej checkDatabase
funkcji.
// check InnoDB support
/*if (!isset($variables['have_innodb']) || $variables['have_innodb'] != 'YES') {
Mage::throwException(Mage::helper('install')->__('Database server does not support the InnoDB storage engine.'));
}*/
Potem mogłem zainstalować Magento.
Możesz spróbować użyć tego kodu, aby znaleźć więcej informacji na temat rodzaju błędu połączenia z bazą danych lub sprawdzić, czy nazwa użytkownika i hasło są poprawne
<?php
$mysqli=mysqli_connect("host","user","password","database name");
if(mysqli_connect_errno()){
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}else{
echo "Connection succesfull!";
}
?>
Zapisz ten skrypt jako plik php i umieść go na serwerze. Wyjściem będzie błąd połączenia, lub jeśli nie wystąpi błąd, wyjście to „Połączenie udane!”. „host” - możesz wpisać tutaj „localhost”, „użytkownik” - tutaj musisz wpisać nazwę użytkownika bazy danych, „hasło” - tutaj musisz wpisać hasło bazy danych, „nazwa bazy danych” - tutaj musisz wpisać nazwę bazy danych.