J'ai essayé d'installer magento, mais lorsque j'essaie d'installer magento à partir du navigateur, il affiche " Erreur de connexion à la base de données " lors de l'installation de Magento.
J'ai essayé d'installer magento, mais lorsque j'essaie d'installer magento à partir du navigateur, il affiche " Erreur de connexion à la base de données " lors de l'installation de Magento.
Réponses:
Tout d'abord, vérifiez le nom d'utilisateur et le mot de passe de votre base de données. Avant de passer à cette étape, vous devez avoir déjà configuré la base de données dans MySQL. Vous devez créer un utilisateur et accorder des privilèges d'accès à cet utilisateur.
Vérifiez ensuite la configuration de votre serveur MySQL. Le numéro de port par défaut est 3306. Cependant, votre administrateur système peut le changer pour autre chose. Ou si vous utilisez des progiciels tels que MAMP / WAMP, le numéro de port peut être défini sur autre chose que 3306. Dans ces cas, vous devez explicitement mettre le numéro de port dans le champ Hôte.
Si tout cela est correct et que vous avez toujours une erreur de connexion à la base de données, vous pouvez essayer d'utiliser le compte root pour accéder à la base de données. Si root fonctionne, cela signifie qu'il y a des problèmes avec les privilèges dans vos paramètres MySQL. Bien qu'il ne soit pas recommandé d'utiliser un compte root pour un déploiement de production futur car cela ajoute des risques de sécurité au serveur.
C'est une question assez ancienne mais je l'ai rencontrée récemment et j'espère que cette réponse aidera quelqu'un d'autre. Mon problème est dû à une ancienne version de Magento en plus d'une nouvelle installation WAMP. Depuis MySQL 5.6.1, la variable have_innodb a été supprimée. Cependant, le programme d'installation de Magento vérifie cette variable et génère une erreur s'il ne la trouve pas. Si vous vérifiez réellement le journal des exceptions, vous verrez une erreur indiquant que le serveur de base de données ne prend pas en charge InnoDB. Pourtant, dans le gestionnaire de captures, il enregistre uniquement cette exception et génère un message générique "Erreur de connexion à la base de données".
La solution la plus simple, si vous êtes sûr que votre base de données prend en charge InnoDB, consiste simplement à modifier app\code\core\Mage\Install\Model\Installer\Db.php
, à trouver la checkDatabase
méthode et à commenter la partie à la fin du bloc try qui vérifie have_innodb
. Normalement, je ne recommanderais pas la modification des fichiers de base, mais cela ne sert qu'à faire fonctionner l'installateur, donc je dirais que c'est assez sûr.
app/code/core/Mage/Install/Model/Installer/Db.php
checkDatabase($data)
fonctionÀ la fin de cette fonction, il y a le code suivant:
Mage::throwException(Mage::helper('install')->__('Database connection error.'));
Modifiez-le comme suit:
Mage::throwException(Mage::helper('install')->__($e->getMessage()));
Accédez à votre navigateur, où vous installez Magento, cliquez sur le Continue
bouton
Dans mon cas, j'ai reçu le message d'erreur suivant:
Le serveur de base de données ne prend pas en charge le moteur de stockage InnoDB.
Donc, pour résoudre ce problème, j'ai commenté la vérification InnoDB dans la même checkDatabase
fonction.
// 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.'));
}*/
Après cela, j'ai pu installer Magento.
Vous pouvez essayer d'utiliser ce code pour trouver plus de détails sur le type d'erreur de connexion à la base de données ou pour vérifier si le nom d'utilisateur et le mot de passe sont corrects.
<?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!";
}
?>
Enregistrez ce script en tant que fichier php et placez-le sur le serveur. La sortie sera une erreur de connexion ou, si aucune erreur, la sortie sera "Connexion réussie!". "hôte" - vous pouvez entrer ici "localhost", "utilisateur" - ici vous devez entrer le nom d'utilisateur de la base de données, "mot de passe" - ici vous devez entrer le mot de passe de la base de données, "nom de la base de données" - ici vous devez entrer le nom de la base de données.