Errores comunes al conectar PrestaShop con base de datos
Conectar PrestaShop a una base de datos es uno de los pasos fundamentales para que tu tienda online funcione correctamente. Sin embargo, es muy común encontrarse con el temido error base de datos PrestaShop o un mensaje de PrestaShop conexión fallida. No te preocupes, la mayoría de estos problemas tienen solución y suelen deberse a pequeños descuidos en la configuración.
En esta guía extensa y detallada, vamos a repasar los errores más comunes al conectar PrestaShop con la base de datos, sus causas y, lo más importante, cómo solucionarlos paso a paso. Tanto si eres nuevo en el mundo del hosting como si ya tienes algo de experiencia, este artículo te ayudará a diagnosticar y resolver cualquier PrestaShop database error de manera rápida y efectiva.
1. El error de credenciales incorrectas
Este es, sin duda, el error más frecuente. Cuando instalas PrestaShop por primera vez o cuando mueves tu tienda a un nuevo servidor, los datos de acceso a la base de datos (usuario, contraseña, nombre de la base y servidor) deben coincidir exactamente con los que has configurado en tu panel de control.
¿Qué sucede?
Al intentar conectar, PrestaShop muestra un mensaje como: "No se puede conectar a la base de datos" o "Acceso denegado para el usuario 'usuario'@'localhost'".
¿Cómo solucionarlo?
- Revisa el archivo de configuración: El archivo clave es
app/config/parameters.php(en versiones modernas de PrestaShop 1.7 y 8.x) oconfig/settings.inc.php(en PrestaShop 1.6). Ábrelo con un editor de texto (como Notepad++ o el editor de archivos de tu hosting). - Verifica cada campo:
- database_host: Normalmente es
localhosto127.0.0.1. Si tu base de datos está en un servidor remoto, aquí irá la IP o el dominio del servidor de bases de datos. - database_name: El nombre exacto de la base de datos que creaste.
- database_user: El usuario que tiene permisos sobre esa base de datos.
- database_password: La contraseña de ese usuario.
- database_host: Normalmente es
- Comprueba los permisos del usuario: A veces el usuario existe y la contraseña es correcta, pero no tiene permisos para acceder a la base de datos. Desde tu panel de control (como cPanel, Syspanel o Plesk), ve a la sección de bases de datos y asegúrate de que el usuario esté añadido a la base de datos con todos los privilegios (SELECT, INSERT, UPDATE, DELETE, CREATE, etc.).
[TIP] Si usas Syspanel (el panel de control de HestiaCP, accesible por el puerto 2106), ve a "Base de datos" y ahí podrás ver y editar los usuarios y sus permisos de forma muy visual.
2. El servidor de base de datos no responde (conexión fallida)
A veces el problema no son las credenciales, sino que el servidor donde está alojada la base de datos no está accesible. Esto puede deberse a un fallo temporal, a un firewall o a que el servicio MySQL/MariaDB se ha detenido.
Síntomas típicos
- PrestaShop conexión fallida con un mensaje como "No such file or directory" o "Connection refused".
- La tienda carga muy lento o muestra una página en blanco.
- En el panel de administración, aparecen errores de base de datos al intentar guardar productos o configuraciones.
Pasos para diagnosticar y solucionar
- Verifica el estado del servicio MySQL: Si tienes acceso SSH a tu servidor (o a través de Syspanel), puedes ejecutar el comando
systemctl status mysqlosystemctl status mariadb. Si no está activo, reinícialo consystemctl restart mysql. - Comprueba la conexión desde el propio servidor: Desde la terminal, prueba a conectar manualmente con el comando:
mysql -u tu_usuario -p -h localhost. Si te pide contraseña y accedes, el servidor funciona. Si no, el problema está en la configuración del servicio. - Revisa el firewall: Asegúrate de que el puerto por defecto de MySQL (3306) no esté bloqueado. Si tu base de datos está en un servidor diferente al de tu web, ese puerto debe estar abierto en el firewall del servidor de bases de datos.
- Comprueba el archivo hosts: En casos raros, el nombre del servidor
localhostpuede no resolverse bien. Prueba a cambiarlo por127.0.0.1en el archivo de configuración de PrestaShop.
[WARNING] Si cambias
localhostpor una IP, asegúrate de que el usuario de MySQL tenga permisos para conectarse desde esa IP. Normalmente los usuarios se crean con'usuario'@'localhost'. Puedes crear un usuario nuevo con'usuario'@'%'para permitir conexiones desde cualquier IP, pero esto es menos seguro.
3. Problemas con la versión de PHP o de la base de datos
PrestaShop es exigente con las versiones de PHP y MySQL/MariaDB. Si tu servidor tiene una versión desactualizada o demasiado reciente, pueden aparecer errores de conexión o de funcionamiento.
Errores comunes relacionados
- PrestaShop database error al intentar ejecutar consultas complejas.
- Errores de tipo "MySQL server has gone away".
- Incompatibilidad con módulos o temas que requieren funciones específicas de la base de datos.
¿Qué debes revisar?
- Versión de PHP: PrestaShop 1.7 y 8.x necesitan PHP 7.1 o superior (recomendado 7.4 u 8.0 para mejor rendimiento). Versiones muy antiguas (1.6) funcionan con PHP 5.6, pero ya no reciben soporte.
- Versión de MySQL/MariaDB: PrestaShop funciona bien con MySQL 5.6+ o MariaDB 10.1+. Si usas una versión muy antigua, puede que no soporte ciertas funciones como
utf8mb4. - Configuración de MySQL: A veces el límite de memoria (
max_allowed_packet) es demasiado bajo. Esto provoca errores al importar bases de datos grandes. Puedes aumentarlo en el archivomy.cnfomy.ini(depende del sistema operativo).
[INFO] Si tu hosting utiliza Syspanel, puedes gestionar las versiones de PHP desde la sección "Web" > "Dominios". Allí podrás seleccionar la versión de PHP para tu dominio de PrestaShop. El acceso a Syspanel es a través del puerto 2106.
4. El error "Tabla no existe" o "Base de datos vacía"
Este error suele ocurrir cuando la base de datos está creada pero no contiene las tablas necesarias, o cuando las tablas han sido eliminadas accidentalmente.
¿Cómo identificarlo?
Al acceder a tu tienda, ves un mensaje como: "Table 'prestashop.ps_product' doesn't exist" o "Base de datos vacía".
Soluciones posibles
- Restaurar una copia de seguridad: Si tienes un backup reciente de tu base de datos, restáuralo desde tu panel de control (cPanel, Syspanel, phpMyAdmin). En Syspanel, ve a "Base de datos" y busca la opción de importar.
- Reinstalar PrestaShop (con cuidado): Si no tienes backup, la opción más drástica es reinstalar PrestaShop desde cero. Durante la instalación, el sistema creará todas las tablas necesarias. Eso sí, perderás todos los datos (productos, clientes, pedidos).
- Verificar el prefijo de las tablas: En el archivo
parameters.phphay un campo llamadodatabase_prefix. Asegúrate de que coincide con el prefijo real de tus tablas (por ejemplo,ps_). Si el prefijo es incorrecto, PrestaShop no encontrará las tablas.
[TIP] Siempre es buena práctica tener copias de seguridad automáticas de tu base de datos. Muchos paneles de control ofrecen esta opción. En Syspanel, puedes configurar backups desde "Backup" > "Base de datos".
5. Conflictos con el archivo .htaccess o la caché
A veces el error no es de conexión directa, sino que un archivo de configuración del servidor (.htaccess) o la caché de PrestaShop interfieren con la comunicación con la base de datos.
¿Qué puede pasar?
- Después de mover la tienda a un nuevo dominio, el
.htaccessantiguo redirige a rutas incorrectas. - La caché de PrestaShop guarda configuraciones de base de datos antiguas, provocando errores al intentar conectar.
Cómo solucionarlo
- Regenera el archivo .htaccess: Ve al panel de administración de PrestaShop (si puedes acceder) a "Configuración de la tienda" > "Rendimiento" y haz clic en "Guardar" sin cambiar nada. Esto regenera el
.htaccess. Si no puedes acceder al panel, borra manualmente el archivo.htaccessde la raíz de tu tienda (haz antes una copia de seguridad) y luego entra a la URL de tu tienda; PrestaShop lo regenerará automáticamente. - Limpia la caché: Desde el panel de administración, en "Configuración de la tienda" > "Rendimiento", limpia la caché. También puedes borrar manualmente la carpeta
var/cache/(en PrestaShop 1.7 y 8.x) ocache/(en 1.6) a través de FTP o del administrador de archivos de tu hosting.
6. Problemas de permisos en archivos y carpetas
Aunque no es un error de conexión directa, los permisos incorrectos en los archivos de configuración pueden impedir que PrestaShop lea o escriba los datos de conexión.
Síntoma
Después de modificar el archivo parameters.php o settings.inc.php, PrestaShop no reconoce los cambios y sigue mostrando el error de conexión.
Solución
Asegúrate de que los archivos de configuración tengan permisos 644 (lectura y escritura para el propietario, solo lectura para el grupo y otros). Las carpetas deben tener permisos 755. Puedes cambiarlos desde tu cliente FTP (FileZilla, por ejemplo) haciendo clic derecho sobre el archivo o carpeta y seleccionando "Permisos de archivo".
[WARNING] No pongas permisos 777 a ningún archivo, ya que supone un grave riesgo de seguridad. Con 644 es suficiente.
7. El error "Too many connections"
Este es un error menos común pero muy frustrante. Ocurre cuando el servidor de base de datos tiene un límite máximo de conexiones simultáneas y PrestaShop (o algún plugin) está abriendo demasiadas.
¿Cómo se manifiesta?
- Mensaje: "Too many connections".
- La tienda se vuelve inaccesible de repente.
Posibles causas y soluciones
- Aumentar el límite de conexiones: Si tienes acceso al servidor, puedes aumentar el valor
max_connectionsen el archivomy.cnf. Por ejemplo, cambiarlo de 150 a 300. - Optimizar consultas: A veces un módulo mal programado realiza consultas ineficientes que mantienen conexiones abiertas. Revisa los módulos instalados y desactiva los que no uses.
- Usar un plugin de caché: La caché reduce la cantidad de consultas a la base de datos, liberando conexiones. PrestaShop tiene su propio sistema de caché, pero también puedes usar módulos como "Cache" o "Memcached".
Preguntas frecuentes (FAQ)
¿Qué hago si no recuerdo mi contraseña de la base de datos?
Puedes cambiarla desde tu panel de control. En Syspanel (puerto 2106), ve a "Base de datos", selecciona la base de datos y busca la opción de "Cambiar contraseña". Luego actualiza el archivo parameters.php con la nueva contraseña.
¿Puedo usar una base de datos remota para PrestaShop?
Sí, pero debes asegurarte de que el servidor de bases de datos permita conexiones remotas y que el usuario tenga permisos desde la IP de tu servidor web. Además, la latencia puede afectar el rendimiento.
¿Por qué después de migrar mi tienda a otro hosting aparece el error de conexión?
Lo más probable es que los datos de conexión (nombre de la base, usuario, contraseña, servidor) hayan cambiado. Edita el archivo parameters.php con los nuevos datos. También verifica que el archivo .htaccess no tenga reglas antiguas.
¿Cómo sé si mi versión de PHP es compatible con PrestaShop?
Consulta la documentación oficial de PrestaShop para tu versión. En general, PrestaShop 8.x funciona con PHP 7.4 a 8.1. Puedes verificar la versión de PHP desde el panel de control de tu hosting o desde un archivo info.php que subas a la raíz.
¿El error "PrestaShop database error" puede deberse a un ataque?
Sí, aunque es menos común. Si sospechas de un ataque (por ejemplo, inyección SQL), revisa los logs de acceso y de errores. Cambia todas las contraseñas (base de datos, FTP, panel de administración) y actualiza PrestaShop a la última versión.
Conclusión
Los errores al conectar PrestaShop con la base de datos pueden ser frustrantes, pero en la mayoría de los casos tienen una solución sencilla. Recuerda siempre verificar las credenciales, el estado del servidor MySQL, los permisos de archivos y las versiones de software. Si a pesar de todo el error persiste, no dudes en contactar al soporte técnico de tu hosting; ellos pueden revisar la configuración del servidor por ti.
Con esta guía, esperamos haberte ayudado a solucionar error conexión PrestaShop y a entender mejor cómo funciona la comunicación entre tu tienda y su base de datos. ¡Ahora ya puedes concentrarte en lo que realmente importa: hacer crecer tu negocio online!
