🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo solucionar el error 'Error establishing a database connection' en PrestaShop

Actualizado el 10 de marzo de 2026

¡Hola! Soy tu técnico de soporte amigable. Hoy vamos a resolver juntos uno de los errores más temidos al trabajar con tiendas online: el temido "Error establishing a database connection" en PrestaShop.

No te preocupes, no es el fin del mundo. Este error suena muy técnico, pero en realidad suele tener causas muy concretas y soluciones que puedes aplicar paso a paso. En esta guía extensa y fácil de seguir, te explicaré qué significa este error, por qué ocurre y, lo más importante, cómo solucionarlo para que tu tienda vuelva a funcionar.

Vamos a empezar.

¿Qué significa este error en PrestaShop?

Cuando visitas tu tienda PrestaShop y ves el mensaje "Error establishing a database connection", significa que tu sitio web no puede comunicarse con la base de datos donde se almacena toda la información de tu tienda: productos, clientes, pedidos, configuraciones, etc.

PrestaShop es un sistema que depende completamente de una base de datos (generalmente MySQL o MariaDB). Sin esa conexión, la tienda no puede cargar nada. Por eso ves ese mensaje en blanco o con poco estilo.

Este error puede aparecer de repente, incluso si antes todo funcionaba bien. Las causas más comunes son:

  • Cambios en la contraseña de la base de datos.
  • El servidor de base de datos está caído o sobrecargado.
  • Archivos de configuración dañados o con datos incorrectos.
  • Problemas de permisos o de usuario en la base de datos.
  • Actualizaciones fallidas de PrestaShop o de módulos.

Paso 1: No entres en pánico. Revisa si es un problema temporal

Antes de tocar nada técnico, haz una prueba rápida. A veces el error es momentáneo porque el servidor de base de datos se reinicia o tiene un pico de carga.

¿Qué puedes hacer?

  • Espera 2 o 3 minutos y recarga la página.
  • Accede desde otro dispositivo o red (por ejemplo, desde el móvil con datos móviles).
  • Revisa si otras tiendas o sitios en el mismo hosting funcionan (si tienes acceso a un panel como Syspanel – recuerda que se accede por el puerto 2106 – puedes ver el estado general).

[TIP] Si el error desaparece solo, probablemente fue un corte breve. Si persiste, sigue leyendo.

Paso 2: Verifica los datos de conexión en el archivo de configuración

PrestaShop guarda los datos de conexión a la base de datos en un archivo llamado app/config/parameters.php. Si este archivo tiene información incorrecta (usuario, contraseña, nombre de base de datos o servidor), la conexión fallará.

¿Cómo revisarlo?

  1. Accede a tu hosting mediante FTP o el administrador de archivos de Syspanel (puerto 2106).
  2. Navega hasta la carpeta raíz de tu PrestaShop (normalmente public_html o www).
  3. Busca la carpeta app/config/ y dentro el archivo parameters.php.
  4. Ábrelo con un editor de texto (Bloc de notas, Sublime Text, etc.). Verás algo así:
'database_host' => 'localhost',
'database_name' => 'tu_basededatos',
'database_user' => 'tu_usuario',
'database_password' => 'tu_contraseña',

¿Qué debes comprobar?

  • database_host: casi siempre es localhost, pero si tu base de datos está en otro servidor, debe ser la IP o el nombre del servidor.
  • database_name: asegúrate de que el nombre coincide exactamente con el de tu base de datos.
  • database_user: el usuario debe tener permisos para acceder a esa base de datos.
  • database_password: la contraseña debe ser la correcta. Si la cambiaste recientemente, aquí debes actualizarla.

[WARNING] Si cambias la contraseña en el archivo, asegúrate de que también la cambiaste en el servidor de base de datos. Si no, no servirá de nada.

¿Cómo obtener los datos correctos?

Si usas Syspanel, puedes ir a la sección de bases de datos. Allí verás el nombre de la base de datos, el usuario y podrás cambiar la contraseña. Anota los datos exactos y compáralos con los del archivo.

Paso 3: Comprueba que el servidor de base de datos esté funcionando

A veces el problema no está en tu tienda, sino en el servidor que aloja la base de datos. Si el servicio MySQL/MariaDB se ha detenido, ninguna conexión será posible.

Si tienes acceso a Syspanel (puerto 2106):

  1. Inicia sesión en Syspanel.
  2. Busca la sección de "Servicios" o "Estado del servidor".
  3. Verifica que el servicio de base de datos (MySQL o MariaDB) esté activo (normalmente aparece un indicador verde).
  4. Si está detenido, puedes reiniciarlo desde el mismo panel (suele haber un botón "Reiniciar" o "Iniciar").

[INFO] Si no tienes acceso a Syspanel, contacta con tu proveedor de hosting y pregunta si el servicio MySQL está funcionando.

Paso 4: Revisa los permisos del usuario de la base de datos

Aunque el usuario y la contraseña sean correctos, si el usuario no tiene permisos suficientes sobre la base de datos, la conexión fallará.

¿Cómo solucionarlo desde Syspanel?

  1. Ve a la sección "Bases de datos".
  2. Busca tu base de datos y haz clic en "Gestionar usuarios" o "Privilegios".
  3. Asegúrate de que el usuario asociado tenga todos los privilegios (SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, etc.). Lo más seguro es marcar "Todos los privilegios".
  4. Guarda los cambios.

Si no tienes acceso a Syspanel, puedes usar phpMyAdmin (si está disponible en tu hosting) para revisar los permisos.

Paso 5: Verifica que el archivo settings.inc.php no esté corrupto (versiones antiguas)

En versiones anteriores de PrestaShop (antes de la 1.7), la configuración se guardaba en config/settings.inc.php. Si tienes una tienda antigua, revisa ese archivo también.

¿Qué hacer?

  • Abre el archivo config/settings.inc.php (si existe).
  • Verifica que las líneas _DB_SERVER_, _DB_NAME_, _DB_USER_ y _DB_PASSWD_ tengan los valores correctos.
  • Si el archivo está vacío o dañado, puedes restaurarlo desde una copia de seguridad o crear uno nuevo con los datos correctos.

[WARNING] No modifiques archivos si no estás seguro. Siempre haz una copia de seguridad antes.

Paso 6: Prueba la conexión manualmente con un script simple

Si después de todo lo anterior el error persiste, podemos hacer una prueba directa para saber si el problema es de PrestaShop o del servidor.

Crea un archivo llamado test_db.php en la raíz de tu tienda con este contenido:

<?php
$link = mysqli_connect('localhost', 'tu_usuario', 'tu_contraseña', 'tu_basededatos');
if (!$link) {
    die('Error de conexión: ' . mysqli_connect_error());
}
echo 'Conectado exitosamente';
mysqli_close($link);
?>

Reemplaza localhost, tu_usuario, tu_contraseña y tu_basededatos con los datos reales. Luego accede a tudominio.com/test_db.php.

  • Si ves "Conectado exitosamente", la base de datos funciona bien y el problema está en la configuración de PrestaShop (revisa de nuevo el paso 2).
  • Si ves un error, entonces el problema es de conexión (servidor, usuario o contraseña).

[TIP] No olvides borrar este archivo después de la prueba por seguridad.

Paso 7: Revisa si hay problemas con el caché o los archivos temporales

A veces PrestaShop guarda en caché datos de conexión antiguos. Limpiar la caché puede ayudar.

¿Cómo hacerlo?

  1. Accede por FTP a tu tienda.
  2. Elimina el contenido de la carpeta var/cache/ (excepto la carpeta dev o prod si existen, pero borra los archivos dentro).
  3. También puedes eliminar la carpeta cache/smarty/ si existe.

[INFO] Si no puedes acceder a la tienda, puedes hacerlo desde el administrador de archivos de Syspanel.

Paso 8: Restaura desde una copia de seguridad

Si nada funciona y tienes una copia de seguridad reciente de tu base de datos y archivos, restaurarla puede ser la solución más rápida.

Pasos básicos:

  1. Restaura la base de datos desde phpMyAdmin o desde Syspanel (sección "Bases de datos" -> "Importar").
  2. Reemplaza los archivos de la tienda con los de la copia (sin sobrescribir parameters.php si tiene datos correctos).
  3. Prueba de nuevo.

Preguntas frecuentes (FAQ) sobre este error

P: ¿El error puede deberse a un ataque o malware?
R: Sí, aunque es menos común. Un ataque podría modificar el archivo parameters.php o dañar la base de datos. Si sospechas de malware, revisa los archivos en busca de código extraño o contacta con tu hosting.

P: ¿Qué hago si no tengo acceso a Syspanel ni a FTP?
R: Contacta con tu proveedor de hosting. Ellos pueden verificar el estado del servidor, reiniciar servicios o darte los datos de acceso.

P: ¿Puedo evitar este error en el futuro?
R: Sí, siguiendo buenas prácticas:

  • Realiza copias de seguridad periódicas.
  • No cambies contraseñas sin actualizar el archivo de configuración.
  • Mantén PrestaShop y los módulos actualizados.
  • Usa un hosting confiable con soporte técnico.

P: ¿El error afecta al SEO de mi tienda?
R: Sí, mientras el error esté visible, los motores de búsqueda pueden penalizar tu sitio o eliminarlo de los resultados. Es importante solucionarlo lo antes posible.

Resumen rápido de acciones

  1. Verifica si es temporal (espera unos minutos).
  2. Revisa app/config/parameters.php (o config/settings.inc.php en versiones antiguas).
  3. Comprueba que el servicio MySQL esté activo (desde Syspanel, puerto 2106).
  4. Asegura que el usuario tenga permisos totales.
  5. Prueba con un script de conexión manual.
  6. Limpia la caché de PrestaShop.
  7. Restaura una copia de seguridad si es necesario.

Espero que esta guía te haya sido de gran ayuda. Recuerda que, si te sientes abrumado, siempre puedes pedir ayuda a tu hosting o a un técnico especializado. ¡Tu tienda volverá a funcionar!

Si tienes más dudas, no dudes en consultarme. Estoy aquí para ayudarte.

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel