Ich habe versucht, Magento zu installieren, aber wenn ich versuche, Magento über den Browser zu installieren, wird während der Magento-Installation " Datenbankverbindungsfehler " angezeigt .
Ich habe versucht, Magento zu installieren, aber wenn ich versuche, Magento über den Browser zu installieren, wird während der Magento-Installation " Datenbankverbindungsfehler " angezeigt .
Antworten:
Ü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.
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 checkDatabase
und 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.
app/code/core/Mage/Install/Model/Installer/Db.php
checkDatabase($data)
FunktionAm 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 Continue
Schaltfläche
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 checkDatabase
Funktion 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.
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.