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

Guía para solucionar error de conexión a base de datos en PrestaShop

Actualizado el 8 de abril de 2026

¡Hola! Soy el técnico de soporte de tu hosting. Si estás aquí es porque seguramente has visto un mensaje como "Error de conexión a la base de datos" o "PrestaShop database error" en tu tienda online. No te preocupes, es uno de los problemas más comunes y, por suerte, casi siempre tiene solución en pocos pasos.

En esta guía completa y fácil de seguir, te voy a explicar qué significa este error, por qué ocurre y cómo solucionarlo paso a paso. Vamos a ello.

¿Qué significa "Error de conexión a base de datos" en PrestaShop?

Cuando ves este mensaje en tu tienda PrestaShop, 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 necesita esta conexión para funcionar. Si falla, la tienda se vuelve inaccesible. Puede aparecer tanto en la parte pública (front office) como en el panel de administración (back office).

Las causas más habituales son:

  • Datos de acceso incorrectos en el archivo de configuración de PrestaShop.
  • El servidor de base de datos está caído o no responde.
  • El usuario de la base de datos no tiene permisos suficientes.
  • Problemas con el archivo de configuración (settings.inc.php).
  • El servidor se ha quedado sin espacio en disco o recursos.
  • Un plugin o actualización reciente ha roto la conexión.
  • La contraseña de la base de datos ha sido cambiada (por ti, por tu hosting o por un proceso automático).

Paso 1: Identifica el tipo de error exacto

Antes de empezar a tocar nada, es importante que sepas qué tipo de error concreto ves. Esto te ahorrará tiempo. Los más comunes son:

  • "Error de conexión a la base de datos" (mensaje genérico).
  • "Link to database cannot be established" (inglés, misma causa).
  • "PrestaShop database error: Table 'xxxx' doesn't exist" (falta una tabla, menos común pero posible).
  • "Access denied for user 'tu_usuario'@'localhost'" (problema de permisos o contraseña).
  • "Can't connect to MySQL server on 'localhost'" (el servidor de BD no está disponible).

¿Dónde ves el error? ¿En la tienda pública, en el panel de administración, o en ambos? Esto nos dará pistas.


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

Lo primero es lo primero: asegurarte de que el motor de base de datos (MySQL o MariaDB) esté activo en tu servidor.

Si tienes acceso a Syspanel (HestiaCP) – puerto 2106

Si tu hosting usa Syspanel (antes HestiaCP), el acceso es a través del puerto 2106. Sigue estos pasos:

  1. Abre tu navegador y ve a https://tudominio.com:2106 (o la IP de tu servidor).
  2. Inicia sesión con tus credenciales de administrador de Syspanel.
  3. Busca la sección "Servicios" o "Service Status" (normalmente en el menú lateral).
  4. Localiza "MySQL" o "MariaDB" en la lista.
  5. Verifica que aparezca como "Running" (en ejecución). Si está "Stopped" (detenido), haz clic en el botón "Start" o "Restart".

[WARNING] Si no ves el servicio o no puedes reiniciarlo, contacta con tu proveedor de hosting. Es posible que el servidor tenga un problema mayor.

Si usas cPanel, Plesk o similar

  • cPanel: Ve a "MySQL Databases" o "MySQL Database Wizard". No suele mostrar el estado del servicio, pero puedes crear una base de datos de prueba para ver si funciona.
  • Plesk: Ve a "Herramientas y Configuración" > "Servicios" > "MySQL". Deberías ver el estado.

Paso 3: Verifica los datos de conexión en el archivo settings.inc.php

Este es el paso más común para solucionar error PrestaShop. El archivo settings.inc.php contiene las credenciales que tu tienda usa para conectar a la base de datos. Si están mal, el error es inmediato.

¿Dónde está el archivo?

Está en la carpeta config/ de tu instalación de PrestaShop. La ruta completa sería algo como:
/public_html/config/settings.inc.php

¿Cómo acceder a él?

  1. Usa un cliente FTP (como FileZilla) o el Administrador de Archivos de tu panel de hosting (cPanel, Syspanel, etc.).
  2. Navega hasta la carpeta config.
  3. Busca el archivo settings.inc.php.
  4. Ábrelo con un editor de texto plano (no uses Word, usa Notepad++ o similar). Si usas el Administrador de Archivos, suele tener un editor integrado.

¿Qué buscar dentro?

El archivo contiene líneas como estas (busca las que empiezan con define):

define('_DB_SERVER_', 'localhost');         // Servidor de BD
define('_DB_NAME_', 'nombre_de_tu_bd');     // Nombre de la base de datos
define('_DB_USER_', 'usuario_de_tu_bd');   // Usuario
define('_DB_PASSWD_', 'contraseña_de_tu_bd'); // Contraseña
define('_DB_PREFIX_', 'ps_');              // Prefijo de las tablas (opcional)

¿Qué comprobar?

  1. _DB_SERVER_: Normalmente es localhost. Si tu hosting te ha dado un servidor remoto (como sql123.mihosting.com), ponlo exactamente.
  2. _DB_NAME_, _DB_USER_ y _DB_PASSWD_: Estos son los datos que creaste (o te dio tu hosting) al instalar PrestaShop. Asegúrate de que sean correctos.
  3. Errores típicos:
    • La contraseña tiene caracteres especiales (como $, #, %) que pueden haberse malinterpretado. Si es el caso, cambia la contraseña desde tu panel de hosting y actualiza aquí.
    • El nombre de la base de datos o el usuario tienen un prefijo (ej: tudominio_). Asegúrate de que coincida exactamente.

[TIP] Si no recuerdas la contraseña, puedes cambiarla desde tu panel de hosting (Syspanel, cPanel, etc.) en la sección de bases de datos. Luego actualizas este archivo con la nueva contraseña.


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

A veces el usuario existe y la contraseña es correcta, pero no tiene permisos para acceder a la base de datos desde el servidor web.

En Syspanel (puerto 2106)

  1. Ve a "Bases de Datos" > "MySQL".
  2. Busca tu base de datos y haz clic en "Editar" o en el icono de usuario.
  3. Asegúrate de que el usuario asociado tenga todos los permisos marcados (SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, etc.). Lo más seguro es marcar "ALL PRIVILEGES" (todos los privilegios).

En cPanel

  1. Ve a "MySQL Databases".
  2. Desplázate hasta la sección "Usuarios en bases de datos".
  3. Añade el usuario a la base de datos si no lo está.
  4. Marca "TODOS LOS PRIVILEGIOS" y haz clic en "Hacer cambios".

Paso 5: Comprueba el espacio en disco y los recursos del servidor

Un error de conexión a base de datos puede ocurrir si el servidor se ha quedado sin espacio en disco o sin memoria RAM.

¿Cómo comprobarlo?

  • Syspanel (puerto 2106): Ve a "Estadísticas" o "Uso de disco". Si está al 100%, libera espacio (borra logs, copias de seguridad antiguas, etc.).
  • cPanel: Ve a "Estadísticas" > "Uso de disco".
  • Si no tienes acceso: Contacta con tu hosting y pregunta si hay problemas de recursos.

[INFO] Un servidor sin espacio no puede escribir en las tablas temporales de MySQL, lo que provoca errores de conexión.


Paso 6: Revisa si una actualización o un módulo ha roto la conexión

Si el error apareció justo después de:

  • Actualizar PrestaShop a una versión más reciente.
  • Instalar o actualizar un módulo.
  • Cambiar la configuración del servidor.

Entonces es probable que algo haya cambiado en la estructura de la base de datos o en la configuración.

¿Qué hacer?

  1. Desactiva el modo de mantenimiento (si puedes acceder al back office) o, si no, edita manualmente el archivo /config/defines.inc.php y cambia _PS_MODE_DEV_ a true para ver errores más detallados.
  2. Revisa el archivo error.log de tu servidor (suele estar en /logs/ o en la raíz de tu hosting). Los errores de MySQL suelen aparecer allí.
  3. Si el error es de una tabla que no existe (Table 'xxxx' doesn't exist), puede que la actualización no haya completado la creación de tablas. En ese caso, necesitarás ejecutar las consultas SQL de la actualización manualmente (esto ya es más avanzado, contacta con soporte).

Paso 7: Prueba la conexión manualmente (para usuarios más técnicos)

Si quieres confirmar que las credenciales son válidas, puedes probar la conexión directamente desde el servidor usando SSH (si tienes acceso) o desde un script PHP simple.

Script PHP de prueba

Crea un archivo llamado testdb.php en la raíz de tu web (junto a index.php) con este contenido:

<?php
$servidor = 'localhost'; // Cámbialo si es necesario
$usuario = 'tu_usuario';
$contraseña = 'tu_contraseña';
$base = 'tu_base_de_datos';

$conexion = new mysqli($servidor, $usuario, $contraseña, $base);

if ($conexion->connect_error) {
    die("Error de conexión: " . $conexion->connect_error);
} else {
    echo "¡Conexión exitosa!";
}
$conexion->close();
?>

Accede a tudominio.com/testdb.php. Si ves "¡Conexión exitosa!", el problema está en PrestaShop (archivo settings.inc.php). Si ves un error de acceso, el problema está en las credenciales o en el servidor.

[WARNING] ¡Borra este archivo después de la prueba! No lo dejes accesible públicamente.


FAQ: Preguntas frecuentes sobre error de conexión a base de datos en PrestaShop

¿Por qué aparece "PrestaShop database error" después de cambiar de hosting?

Al cambiar de hosting, los datos de conexión (servidor, usuario, contraseña) suelen cambiar. Debes actualizar el archivo settings.inc.php con los nuevos datos que te proporcionó tu nuevo hosting.

¿Puedo solucionar el error sin perder datos?

Sí, en la mayoría de los casos. El error de conexión no borra tus datos. Solo impide que PrestaShop acceda a ellos. Una vez que arregles la conexión, tu tienda volverá a la normalidad con todos tus productos, clientes y pedidos intactos.

¿Qué hago si no tengo acceso al panel de administración de PrestaShop?

No te preocupes. Puedes editar el archivo settings.inc.php vía FTP o desde el Administrador de Archivos de tu panel de hosting. Si el error está en ese archivo, lo solucionarás sin necesidad del back office.

¿Y si después de todo sigue sin funcionar?

Si has seguido todos los pasos y el error persiste, es probable que sea un problema a nivel de servidor (MySQL caído, configuraciones de seguridad, firewall, etc.). En ese caso, contacta con tu proveedor de hosting y diles que tienes un "error base datos PrestaShop" y que ya has verificado los datos de conexión. Ellos podrán revisar los logs del servidor y solucionarlo.

¿El error puede deberse a un ataque?

Es posible, pero poco común. Un ataque podría modificar el archivo settings.inc.php o dañar la base de datos. Si sospechas de un ataque, cambia todas las contraseñas (de FTP, de la base de datos, del panel de administración) y restaura una copia de seguridad limpia.


Resumen y consejos finales

Para solucionar error PrestaShop de conexión a base de datos, sigue este orden lógico:

  1. Verifica que el servicio MySQL esté activo (Syspanel, cPanel, etc.).
  2. Revisa el archivo settings.inc.php y corrige credenciales.
  3. Comprueba los permisos del usuario en la base de datos.
  4. Libera espacio en disco si está lleno.
  5. Prueba con un script PHP para aislar el problema.
  6. Si nada funciona, contacta a tu hosting.

[TIP] Siempre ten una copia de seguridad reciente de tu base de datos y archivos de PrestaShop. Así, ante cualquier problema, puedes restaurar rápidamente.

Espero que esta guía te haya sido de gran ayuda. Recuerda que los errores de base de datos son frustrantes, pero casi siempre tienen una solución sencilla. ¡Mucho ánimo y a seguir vendiendo! Si tienes más dudas, no dudes en preguntar.

¿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