Błąd połączenia z bazą danych. instalacja magento

10

Próbowałem zainstalować Magento, ale kiedy próbuję zainstalować Magento z przeglądarki, pojawia się komunikatBłąd połączenia z bazą danych ” podczas instalacji Magento.

wprowadź opis zdjęcia tutaj

Darshan Patel
źródło
musisz utworzyć bazę danych w phpmyadmin i podać jej nazwę użytkownika i hasło.
Akhilesh Patel
Postępuj zgodnie z samouczkiem siteground.com/tutorials/magento/magento_installation.htm
Akhilesh Patel

Odpowiedzi:

9

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.

kebugcheck
źródło
nadal występuje błąd połączenia z bazą danych.
Darshan Patel
5

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źć checkDatabasemetodę 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.

Sejda Hajji
źródło
4

Najpierw utwórz db http://localhost/phpmyadmin

przyjmijmy nazwę DB: testdb

Strona konfiguracji nazwa db: nazwa użytkownika testdb: hasło roota: puste (nie wprowadzaj żadnej wartości)

Magento 2
źródło
4
  • Iść do app/code/core/Mage/Install/Model/Installer/Db.php
  • Znajdź 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 Continueprzycisk

  • Teraz powinieneś być w stanie zobaczyć odpowiedni komunikat o błędzie

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 checkDatabasefunkcji.

// 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.

Mukesh Chapagain
źródło
1

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.

Mancius Mancius
źródło
0
  1. Nazwa bazy danych została podana jako magento
  2. Więc sprawdź, czy utworzyłeś bazę danych o nazwie Magento, czy nie.
  3. Jeśli nie, musisz magentonajpierw utworzyć pustą bazę danych db .
Stevie G.
źródło