He intentado instalar magento, pero cuando intento instalar magento desde el navegador, muestra " Error de conexión de la base de datos " durante la instalación de Magento.
He intentado instalar magento, pero cuando intento instalar magento desde el navegador, muestra " Error de conexión de la base de datos " durante la instalación de Magento.
Respuestas:
En primer lugar, verifique el nombre de usuario y la contraseña de su base de datos. Antes de continuar con este paso, ya debería haber configurado la base de datos en MySQL. Debe crear un usuario y otorgar privilegios de acceso a ese usuario.
Luego verifique la configuración de su servidor MySQL. El número de puerto predeterminado es 3306. Sin embargo, el administrador del sistema puede cambiarlo por otro. O si está utilizando paquetes de software como MAMP / WAMP, el número de puerto puede establecerse en algo diferente a 3306. En estos casos, debe poner explícitamente el número de puerto en el campo Host.
Si todo esto es correcto y aún tiene un error de conexión a la base de datos, puede intentar usar la cuenta raíz para acceder a la base de datos. Si la raíz funciona, eso significa que hay problemas con los privilegios en la configuración de MySQL. Aunque no se recomienda usar la cuenta raíz para la futura implementación de producción, ya que agrega riesgos de seguridad al servidor.
Esta es una pregunta bastante antigua, pero la encontré recientemente y espero que esta respuesta ayude a alguien más. Mi problema se redujo a una versión anterior de Magento sobre una nueva instalación de WAMP. Desde MySQL 5.6.1, la variable have_innodb ha sido eliminada. Sin embargo, el instalador de Magento busca esa variable y arroja un error si no la encuentra. Si realmente verifica el registro de excepciones, verá un error que indica que el servidor de la base de datos no es compatible con InnoDB. Sin embargo, en el controlador catch solo registra esa excepción y genera un mensaje genérico de "Error de conexión de la base de datos".
La solución más simple, si está seguro de que su base de datos admite InnoDB, es simplemente editar app\code\core\Mage\Install\Model\Installer\Db.php
, encontrar el checkDatabase
método y comentar la parte al final del bloque try que verifica have_innodb
. Normalmente, no recomendaría editar archivos principales, pero esto es solo para que el instalador funcione, por lo que diría que es lo suficientemente seguro.
app/code/core/Mage/Install/Model/Installer/Db.php
checkDatabase($data)
funciónAl final de esta función, hay el siguiente código:
Mage::throwException(Mage::helper('install')->__('Database connection error.'));
Cámbielo a lo siguiente:
Mage::throwException(Mage::helper('install')->__($e->getMessage()));
Vaya a su navegador, donde está instalando Magento, haga clic en el Continue
botón
En mi caso, recibí el siguiente mensaje de error:
El servidor de bases de datos no es compatible con el motor de almacenamiento InnoDB.
Entonces, para resolver esto, comenté la verificación de InnoDB en la misma checkDatabase
función.
// 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.'));
}*/
Después de eso, pude instalar Magento.
Puede intentar usar este código para encontrar más detalles sobre el tipo de error de conexión de la base de datos o para verificar si el nombre de usuario y la contraseña son correctos
<?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!";
}
?>
Guarde este script como un archivo php y póngalo en el servidor. La salida será un error de conexión, o si no hay error, la salida será "¡Conexión exitosa!". "host" - puede ingresar aquí "localhost", "usuario" - aquí debe ingresar el nombre de usuario de la base de datos, "contraseña" - aquí debe ingresar la contraseña de la base de datos, "nombre de la base de datos" - aquí debe ingresar el nombre de la base de datos.