Guía para solucionar el error de conexión a base de datos en PrestaShop
Introducción: ¿Por qué aparece este error?
Si estás leyendo esto, probablemente te has encontrado con una pantalla en blanco o un mensaje de error similar a "Error de conexión a la base de datos" o "PrestaShop cannot connect to database". No te preocupes, es uno de los problemas más comunes al gestionar una tienda online y, en la mayoría de los casos, tiene solución rápida.
Este error significa que tu tienda PrestaShop no puede comunicarse con el servidor donde se almacena toda su información: productos, clientes, pedidos, configuraciones, etc. Sin esa conexión, la tienda no puede cargar.
En esta guía te explicaremos paso a paso cómo diagnosticar y solucionar el error conexión base datos PrestaShop, desde lo más básico hasta opciones más avanzadas. Todo explicado de forma clara y sin tecnicismos innecesarios.
¿Qué causa el error "PrestaShop cannot connect to database"?
Antes de empezar a solucionar, es útil entender las causas más frecuentes. Generalmente, el problema se debe a uno de estos factores:
- Credenciales incorrectas en el archivo de configuración de PrestaShop (el usuario, la contraseña o el nombre de la base de datos no coinciden con los reales).
- El servidor de bases de datos está caído o no responde (puede ser un problema temporal del hosting).
- El usuario de la base de datos no tiene permisos suficientes para conectarse.
- El archivo de configuración
settings.inc.phpestá dañado o tiene errores. - Cambios recientes en el hosting (por ejemplo, migración de servidor, cambio de contraseña de la base de datos, etc.).
- Problemas con el prefijo de las tablas de la base de datos.
Vamos a revisar cada una de estas posibilidades.
Paso 1: Verifica que el servidor de base de datos esté funcionando
Lo primero es asegurarte de que el problema no sea del servidor donde está alojada tu tienda. Si el servicio de base de datos (MySQL/MariaDB) está detenido, ninguna tienda podrá conectarse.
¿Cómo comprobarlo?
- Accede a tu panel de control de hosting (cPanel, Plesk, Syspanel, etc.). Si usas Syspanel (antes conocido como HestiaCP), recuerda que la URL de acceso suele ser
https://tudominio.com:2106. - Busca una sección llamada "Base de datos", "MySQL" o "Servicios".
- Revisa si el servicio de base de datos aparece como "Activo" o "Running". Si está detenido, intenta reiniciarlo desde el mismo panel.
[WARNING] Si no encuentras cómo hacerlo, contacta con el soporte técnico de tu hosting. Ellos pueden verificar rápidamente si el servidor de bases de datos está operativo.
Paso 2: Revisa el archivo de configuración de PrestaShop
PrestaShop guarda los datos de conexión a la base de datos en un archivo llamado settings.inc.php. Este archivo se encuentra en la carpeta config de tu instalación de PrestaShop.
¿Cómo acceder y editarlo?
- Conéctate a tu servidor mediante FTP (FileZilla, por ejemplo) o al administrador de archivos de tu panel de hosting.
- Navega hasta la carpeta raíz de tu tienda (normalmente
public_htmlowww). - Abre la carpeta
config. - Busca el archivo
settings.inc.php. Si no lo ves, asegúrate de que estás viendo archivos ocultos (en FileZilla, ve a "Servidor" -> "Forzar mostrar archivos ocultos"). - Descarga una copia de seguridad de este archivo (por si acaso) y luego ábrelo con un editor de texto (Bloc de notas, Sublime Text, etc.).
Dentro del archivo, verás algo similar a esto (los valores variarán):
define('_DB_SERVER_', 'localhost');
define('_DB_NAME_', 'nombre_de_tu_bd');
define('_DB_USER_', 'usuario_de_tu_bd');
define('_DB_PASSWD_', 'contraseña_de_tu_bd');
define('_DB_PREFIX_', 'ps_');
¿Qué debes verificar?
_DB_SERVER_: Normalmente eslocalhost, pero si tu base de datos está en un servidor externo, aquí debe aparecer la dirección IP o el nombre del servidor remoto._DB_NAME_: El nombre exacto de la base de datos que creaste para PrestaShop._DB_USER_: El nombre de usuario asociado a esa base de datos._DB_PASSWD_: La contraseña de ese usuario._DB_PREFIX_: El prefijo de las tablas (por ejemplo,ps_). Si lo cambiaste, debe coincidir.
[TIP] Si no recuerdas tus credenciales, puedes consultarlas en el panel de control de tu hosting, en la sección de "Bases de datos MySQL". Allí verás el nombre de la BD, el usuario y podrás cambiar la contraseña si es necesario.
Si encuentras algún error, corrígelo, guarda el archivo y vuelve a subirlo al servidor (reemplazando el original). Luego intenta cargar tu tienda de nuevo.
Paso 3: Verifica los permisos del usuario de la base de datos
A veces, el usuario tiene acceso a la base de datos, pero no tiene todos los permisos necesarios (SELECT, INSERT, UPDATE, DELETE, CREATE, etc.). PrestaShop necesita permisos completos para funcionar correctamente.
¿Cómo solucionarlo?
- Accede a tu panel de control de hosting (Syspanel, cPanel, etc.).
- Busca la sección de "Bases de datos MySQL" o "Gestión de usuarios".
- Localiza el usuario que utiliza PrestaShop y asegúrate de que tenga todos los privilegios marcados (o al menos los básicos: SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, etc.).
- Si no está, asígnale los permisos y guarda los cambios.
[INFO] En Syspanel, puedes gestionar usuarios y permisos desde la sección "Base de datos" -> "Editar usuario". Recuerda que la URL de acceso es https://tudominio.com:2106.
Paso 4: Comprueba el prefijo de las tablas
Si has restaurado una copia de seguridad de otra tienda o has realizado cambios en la base de datos, es posible que el prefijo de las tablas no coincida con el que está definido en settings.inc.php.
¿Cómo verificarlo?
- Accede a tu base de datos mediante phpMyAdmin (normalmente disponible en tu panel de control).
- Busca la base de datos de PrestaShop.
- Observa los nombres de las tablas. Deberían empezar con un prefijo, por ejemplo:
ps_customer,ps_orders, etc. - Compara ese prefijo con el que aparece en
settings.inc.php(línea_DB_PREFIX_). Si no coinciden, cámbialo en el archivo de configuración.
[WARNING] Si cambias el prefijo en el archivo, asegúrate de que sea exactamente el mismo que tienen las tablas en la base de datos (incluyendo el guion bajo si lo tiene).
Paso 5: Revisa si hay un firewall bloqueando la conexión
En algunos servidores, el firewall puede bloquear las conexiones a la base de datos, especialmente si el servidor de base de datos es remoto. Si tu hosting usa Syspanel u otro panel, verifica que el puerto 3306 (puerto por defecto de MySQL) esté abierto para las conexiones desde tu servidor web.
[INFO] Si no estás seguro de cómo hacerlo, contacta con el soporte técnico de tu hosting y diles que necesitas verificar que el puerto 3306 esté permitido para conexiones locales o remotas, según tu configuración.
Paso 6: Restaura una copia de seguridad reciente
Si después de todos los pasos anteriores el error persiste, es posible que la base de datos esté dañada. En ese caso, la solución más rápida es restaurar una copia de seguridad funcional.
¿Cómo hacerlo?
- Accede a tu panel de control y busca la sección de "Copias de seguridad" o "Backups".
- Localiza una copia de seguridad de la base de datos anterior al error.
- Restaura esa copia en la misma base de datos (o crea una nueva y actualiza el archivo
settings.inc.phpcon las nuevas credenciales).
[TIP] Si no tienes una copia de seguridad, algunos hostings ofrecen backups automáticos. Pregunta a tu soporte si pueden restaurar una versión anterior.
Paso 7: Desactiva temporalmente los módulos conflictivos
A veces, un módulo mal configurado o desactualizado puede causar problemas de conexión. Si el error aparece después de instalar o actualizar un módulo, intenta desactivarlo.
¿Cómo hacerlo si no puedes acceder al panel de administración?
- Conéctate a tu base de datos mediante phpMyAdmin.
- Busca la tabla
ps_module(o el prefijo que tengas seguido de_module). - Localiza el módulo problemático y cambia su estado de
1(activo) a0(inactivo). - También puedes renombrar la carpeta del módulo en el servidor (en
/modules/nombre_del_modulo) para que PrestaShop no lo cargue.
[WARNING] Ten cuidado al modificar la base de datos directamente. Si no estás seguro, mejor pide ayuda a un técnico.
Preguntas frecuentes (FAQ)
¿Qué hago si el error aparece de repente sin haber hecho cambios?
Es posible que el hosting haya realizado una actualización o mantenimiento. Verifica primero el estado del servidor (Paso 1) y luego revisa las credenciales (Paso 2). Si nada funciona, contacta al soporte.
¿Puedo solucionar el error sin acceder al panel de administración?
Sí, la mayoría de las soluciones se realizan desde el panel de control del hosting o mediante FTP. No necesitas entrar a la tienda.
¿El error "PrestaShop cannot connect to database" puede deberse a un ataque?
Es poco común, pero posible. Si sospechas de un ataque, cambia todas las contraseñas (base de datos, FTP, panel de control) y restaura una copia de seguridad limpia.
¿Cómo evito este error en el futuro?
- Realiza copias de seguridad periódicas de tu base de datos y archivos.
- Mantén PrestaShop y sus módulos actualizados.
- Anota las credenciales de tu base de datos en un lugar seguro.
- Si usas Syspanel, recuerda que el puerto de acceso es el 2106 y que puedes gestionar todo desde allí.
Conclusión
El error conexión base datos PrestaShop puede ser frustrante, pero como has visto, en la mayoría de los casos se soluciona con unos pocos pasos: revisar credenciales, permisos y el estado del servidor. Esperamos que esta guía te haya sido de ayuda y que tu tienda vuelva a funcionar en pocos minutos.
Si después de seguir todos los pasos el problema persiste, no dudes en contactar con el equipo de soporte de tu hosting. Ellos tienen acceso a herramientas más avanzadas y podrán ayudarte a solucionar base datos PrestaShop de manera definitiva.
¡Mucho éxito con tu tienda online!
