Datenbankverbindungsfehler. Magento-Installation

10

Ich habe versucht, Magento zu installieren, aber wenn ich versuche, Magento über den Browser zu installieren, wird während der Magento-Installation " Datenbankverbindungsfehler " angezeigt .

Geben Sie hier die Bildbeschreibung ein

Darshan Patel
quelle
Sie müssen eine Datenbank in phpmyadmin erstellen und den Benutzernamen und das Passwort angeben.
Akhilesh Patel
Folgen Sie dem Tutorial siteground.com/tutorials/magento/magento_installation.htm
Akhilesh Patel

Antworten:

9

Überprüfen Sie zunächst den Benutzernamen und das Kennwort Ihrer Datenbank. Bevor Sie mit diesem Schritt fortfahren, sollten Sie die Datenbank bereits in MySQL eingerichtet haben. Sie müssen einen Benutzer erstellen und diesem Benutzer Zugriffsrechte gewähren.

Überprüfen Sie dann Ihre MySQL-Serverkonfiguration. Die Standardportnummer ist 3306. Ihr Systemadministrator kann sie jedoch in eine andere ändern. Wenn Sie Softwarepakete wie MAMP / WAMP verwenden, kann die Portnummer auf einen anderen Wert als 3306 festgelegt werden. In diesen Fällen müssen Sie die Portnummer explizit in das Feld Host eingeben.

Wenn all dies korrekt ist und Sie immer noch einen Datenbankverbindungsfehler haben, können Sie versuchen, mit dem Root-Konto auf die Datenbank zuzugreifen. Wenn root funktioniert, bedeutet dies, dass es Probleme mit den Berechtigungen in Ihren MySQL-Einstellungen gibt. Es wird zwar nicht empfohlen, ein Root-Konto für zukünftige Produktionsbereitstellungen zu verwenden, da dies dem Server Sicherheitsrisiken hinzufügt.

Kebugcheck
quelle
habe noch Datenbankverbindungsfehler.
Darshan Patel
5

Dies ist eine ziemlich alte Frage, aber ich bin kürzlich darauf gestoßen und hoffe, dass diese Antwort jemand anderem hilft. Mein Problem war eine alte Version von Magento auf einer neuen WAMP-Installation. Seit MySQL 5.6.1 wurde die Variable have_innodb entfernt. Das Magento-Installationsprogramm sucht jedoch nach dieser Variablen und gibt einen Fehler aus, wenn es sie nicht findet. Wenn Sie das Ausnahmeprotokoll tatsächlich überprüfen, wird ein Fehler angezeigt, dass der Datenbankserver InnoDB nicht unterstützt. Im catch-Handler wird jedoch nur diese Ausnahme protokolliert und eine generische Meldung "Datenbankverbindungsfehler" ausgegeben.

Die einfachste Lösung, wenn Sie sicher sind, dass Ihre Datenbank InnoDB unterstützt, besteht darin , den Teil am Ende des try-Blocks, nach dem gesucht wird, einfach zu bearbeiten app\code\core\Mage\Install\Model\Installer\Db.php, zu finden checkDatabaseund zu kommentieren have_innodb. Normalerweise würde ich nicht empfehlen, Kerndateien zu bearbeiten, aber dies dient nur dazu, das Installationsprogramm zum Laufen zu bringen. Ich würde also sagen, dass es sicher genug ist.

Sejda Hajji
quelle
4

Erstellen Sie zuerst eine Datenbank http://localhost/phpmyadmin

Nehmen wir an, DB-Name: testdb

Konfigurationsseite Datenbankname: testdb Benutzername: root Passwort: leer (keinen Wert eingeben)

Magento 2
quelle
4
  • Gehe zu app/code/core/Mage/Install/Model/Installer/Db.php
  • Finden Sie die checkDatabase($data)Funktion
  • Am Ende dieser Funktion befindet sich der folgende Code:

    Mage::throwException(Mage::helper('install')->__('Database connection error.'));
  • Ändern Sie es wie folgt:

    Mage::throwException(Mage::helper('install')->__($e->getMessage()));
  • Gehen Sie zu Ihrem Browser, in dem Sie Magento installieren, und klicken Sie auf die ContinueSchaltfläche

  • Jetzt sollte eine korrekte Fehlermeldung angezeigt werden

In meinem Fall wurde folgende Fehlermeldung angezeigt:

Der Datenbankserver unterstützt die InnoDB-Speicher-Engine nicht.

Um dies zu lösen, habe ich den InnoDB-Check in derselben checkDatabaseFunktion kommentiert .

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

Danach konnte ich Magento installieren.

Mukesh Chapagain
quelle
1

Sie können versuchen, diesen Code zu verwenden, um weitere Details zu der Art des Datenbankverbindungsfehlers zu erhalten oder um zu überprüfen, ob der Benutzername und das Kennwort korrekt sind

<?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!";
      }
?>

Speichern Sie dieses Skript als PHP-Datei und legen Sie es auf dem Server ab. Die Ausgabe ist ein Verbindungsfehler, oder wenn kein Fehler vorliegt, lautet die Ausgabe "Verbindung erfolgreich!". "Host" - Sie können hier "localhost", "Benutzer" eingeben - hier müssen Sie den Datenbankbenutzernamen "Passwort" eingeben - hier müssen Sie das Datenbankkennwort "Datenbankname" eingeben - hier müssen Sie den Datenbanknamen eingeben.

Mancius Mancius
quelle
0
  1. Sie haben den Datenbanknamen als angegeben magento
  2. Überprüfen Sie also bitte, ob Sie diese Magento-Datenbank erstellt haben oder nicht.
  3. Wenn nicht, müssen Sie zuerst eine leere Datenbank mit dem Namen erstellen magento.
Stevie G.
quelle