Cómo resolver el error de conexión a la base de datos en PrestaShop (cPanel)
¿Por qué aparece el error de conexión a la base de datos en PrestaShop?
Cuando tu tienda PrestaShop muestra el temido mensaje "Error de conexión a la base de datos", no significa que hayas perdido tus productos, clientes o pedidos. Simplemente, tu tienda no puede comunicarse con el servidor donde se guarda toda esa información. Es como si intentaras abrir la puerta de tu almacén con una llave equivocada: los productos siguen ahí, pero no puedes acceder a ellos.
Este problema es uno de los más comunes entre los usuarios de PrestaShop, especialmente después de migrar de hosting, cambiar la contraseña de la base de datos o actualizar la versión de PHP. La buena noticia es que, en el 90% de los casos, puedes resolverlo tú mismo siguiendo una serie de pasos lógicos y sin necesidad de ser un experto en programación.
En esta guía completa, vamos a explicarte cómo arreglar PrestaShop cuando falla la conexión, usando las herramientas que tienes a tu disposición en cPanel. Todo explicado paso a paso, con un lenguaje claro y directo.
¿Qué significa exactamente el "error de conexión prestashop"?
Antes de lanzarnos a tocar archivos, es importante que entiendas qué está pasando. PrestaShop necesita cuatro datos para conectarse a su base de datos:
- El nombre de la base de datos (ejemplo:
tucuenta_prestashop). - El usuario de la base de datos (ejemplo:
tucuenta_adminbd). - La contraseña de ese usuario.
- El servidor de la base de datos (normalmente
localhost, aunque a veces es algo comosql.tudominio.com).
Todos estos datos están guardados en un archivo llamado parameters.php, que se encuentra en la carpeta app/config/ de tu instalación de PrestaShop. Si cualquiera de esos datos es incorrecto, o si el servidor MySQL está caído, tu tienda no podrá conectarse.
El error puede aparecer de dos formas:
- Pantalla completa en blanco con el mensaje: "Error de conexión a la base de datos".
- Página de instalación de PrestaShop, como si la tienda no existiera.
Ambos casos apuntan al mismo problema: la comunicación entre PrestaShop y MySQL está rota.
Primeros pasos: verifica que el servidor MySQL esté funcionando
A veces la solución es más simple de lo que parece. Antes de tocar archivos, comprueba que el servicio de bases de datos está activo en tu hosting.
Accede a cPanel
- Entra en tu cPanel con las credenciales que te proporcionó tu proveedor de hosting.
- Busca la sección "Bases de datos" o "MySQL".
- Haz clic en "MySQL Databases" o "Remote MySQL" (dependiendo de la versión).
- Verás un listado de tus bases de datos. Si no ves ninguna, o si aparece un mensaje de error, el problema puede estar en el servidor.
[TIP] Si el servidor MySQL está caído, no podrás hacer nada desde tu lado. En ese caso, contacta con tu proveedor de hosting y pregunta si hay algún problema con el servicio MySQL. A veces, una simple caída temporal provoca este error.
La solución más común: actualizar el archivo parameters.php
Si el servidor MySQL funciona, el siguiente paso es revisar el archivo de configuración. Este archivo es el "cerebro" de la conexión y es donde se guardan los datos que mencionamos antes.
Localiza el archivo parameters.php
- Entra en tu cPanel.
- Busca la herramienta "Administrador de archivos" (File Manager).
- Navega hasta la carpeta de tu tienda. Normalmente está en
public_html/o en una subcarpeta si tu PrestaShop no está en la raíz. - Entra en la carpeta
app/y luego enconfig/. - Busca el archivo
parameters.php. Haz una copia de seguridad antes de modificarlo: clic derecho → "Copiar" o "Descargar".
Edita el archivo con cuidado
Haz clic derecho sobre parameters.php y selecciona "Editar" o "Code Editor". Verás un código PHP con varias líneas. Busca la sección que dice 'database_host', 'database_name', 'database_user' y 'database_password'.
[WARNING] Ten mucho cuidado al editar este archivo. Un solo carácter mal puesto (una coma, una comilla o un espacio) puede romper tu tienda por completo. Si no estás seguro, haz una copia de seguridad y trabaja sobre una copia.
¿Qué valores debes poner?
database_host: normalmente eslocalhost. Pero si tu hosting usa un servidor MySQL externo, cPanel te lo indica en la sección "MySQL Databases". Suele ser algo comolocalhostosql.tudominio.com.database_name: el nombre exacto de tu base de datos. En cPanel, verás algo comotucuenta_nombrebd. Copia el nombre completo.database_user: el usuario asociado a esa base de datos. Igual que antes, copia el nombre completo.database_password: la contraseña de ese usuario. Si no la recuerdas, puedes cambiarla desde cPanel (te explicamos cómo más abajo).
Una vez corregidos los datos, guarda el archivo y prueba a cargar tu tienda.
[TIP] Si no sabes cuál es tu usuario o contraseña, cPanel tiene una sección llamada "MySQL Users" donde puedes ver los usuarios existentes y cambiar sus contraseñas. Anota los datos antes de editar el archivo.
Cómo cambiar la contraseña de la base de datos en cPanel
Si sospechas que la contraseña es incorrecta (por ejemplo, porque la cambiaste recientemente y no actualizaste PrestaShop), lo más rápido es cambiarla de nuevo y ponerla en el archivo.
Pasos para cambiar la contraseña
- En cPanel, ve a "MySQL Databases".
- Busca la sección "Users in your databases" (Usuarios en tus bases de datos).
- Localiza el usuario que está asociado a tu base de datos de PrestaShop.
- Haz clic en "Change Password" (Cambiar contraseña).
- Introduce una contraseña nueva y segura. Guárdala en un lugar seguro.
- Ahora, edita el archivo
parameters.phpy pon la nueva contraseña en'database_password'.
[INFO] Algunos hostings requieren que la contraseña tenga un mínimo de caracteres y contenga números y símbolos. Si tu hosting lo exige, asegúrate de cumplir los requisitos para evitar errores.
El problema del prefijo de las tablas
A veces, el error de conexión no se debe a los datos de acceso, sino al prefijo de las tablas. PrestaShop usa un prefijo (normalmente ps_) para nombrar sus tablas en la base de datos. Si ese prefijo no coincide con el que está configurado, la conexión falla.
Cómo comprobar el prefijo
- En cPanel, ve a "phpMyAdmin" (dentro de la sección de bases de datos).
- Selecciona tu base de datos en el menú lateral izquierdo.
- Verás un listado de tablas. Fíjate en el prefijo: ¿empiezan todas por
ps_? ¿O por algo comoprestashop_? - Anota el prefijo exacto.
Ahora, en el archivo parameters.php, busca la línea que dice 'database_prefix'. Asegúrate de que coincide con el prefijo que ves en phpMyAdmin.
[WARNING] Si cambias el prefijo en el archivo sin cambiar las tablas, la tienda no funcionará. Es mejor que el archivo se adapte a lo que ya existe en la base de datos, no al revés.
Problemas con la versión de PHP
PrestaShop es muy sensible a la versión de PHP que usa tu servidor. Si tu hosting actualizó PHP a una versión demasiado reciente (o demasiado antigua), la conexión a la base de datos puede fallar.
Cómo comprobar la versión de PHP
- En cPanel, busca la sección "Software" o "Select PHP Version".
- Verás la versión actual de PHP.
- PrestaShop 1.7 y 8.x funcionan mejor con PHP 7.4 o 8.0. Si tu versión es 8.2 o superior, puede haber incompatibilidades.
Cómo cambiar la versión de PHP
- En "Select PHP Version", elige una versión compatible.
- Haz clic en "Set as current" o "Apply".
- Espera unos segundos y recarga tu tienda.
[TIP] Si no sabes qué versión usar, prueba primero con PHP 7.4. Es la más estable para PrestaShop 1.7.
El archivo .htaccess y los permisos de carpetas
Un problema menos conocido pero igual de frustrante es cuando los permisos de archivos y carpetas son incorrectos. PrestaShop necesita permisos específicos para leer y escribir archivos de configuración.
Permisos recomendados
- Carpetas: 755 (lectura y ejecución para todos, escritura solo para el propietario).
- Archivos: 644 (lectura para todos, escritura solo para el propietario).
Cómo cambiar permisos en cPanel
- En el Administrador de archivos, navega hasta la raíz de tu PrestaShop.
- Selecciona todas las carpetas y archivos.
- Haz clic en "Permissions" (Permisos) en la barra superior.
- Introduce el valor numérico (755 para carpetas, 644 para archivos).
- Aplica los cambios.
[INFO] No cambies los permisos de la carpeta var/cache a 777 (todos pueden escribir) a menos que sea estrictamente necesario. Es un riesgo de seguridad.
La caché de PrestaShop: el enemigo silencioso
A veces, el error aparece después de hacer cambios correctos, pero PrestaShop sigue mostrando el error porque la caché está obsoleta.
Cómo limpiar la caché sin acceso al panel
- En el Administrador de archivos, entra en la carpeta
var/cache/. - Verás subcarpetas como
devyprod. - Dentro de cada una, borra todo el contenido (archivos y carpetas).
- No borres las carpetas
devyproden sí, solo su contenido.
[TIP] También puedes crear un archivo llamado parameters.php.bak (copia de seguridad) y luego renombrar el actual a parameters.php para forzar una regeneración de la caché. Pero esto es más avanzado.
¿Y si nada de esto funciona? Restaurar desde una copia de seguridad
Si has probado todos los pasos anteriores y el error conexion prestashop persiste, es posible que la base de datos esté corrupta o que hayas modificado algo que no debías. En ese caso, la solución más segura es restaurar desde una copia de seguridad reciente.
Cómo restaurar en cPanel
- Ve a la sección "Backup" o "Backup Wizard".
- Busca la copia de seguridad más reciente de tu base de datos.
- Restaura la base de datos completa.
- Si también tienes una copia de los archivos, restaura la carpeta de PrestaShop.
[WARNING] La restauración sobrescribirá todos los cambios que hayas hecho desde la copia de seguridad. Si tienes pedidos o productos nuevos, los perderás. Asegúrate de que es el último recurso.
Consejos finales para evitar futuros errores de conexión
Una vez que hayas arreglado el problema, sigue estos consejos para que no vuelva a ocurrir:
- Anota tus credenciales de la base de datos en un lugar seguro (gestor de contraseñas).
- Haz copias de seguridad semanales de tu base de datos y archivos.
- No cambies la contraseña de la base de datos sin actualizar
parameters.phpal mismo tiempo. - Mantén PrestaShop actualizado a la última versión estable.
- Si usas un hosting compartido, evita hacer cambios en el servidor MySQL fuera de horario de bajo tráfico.
Preguntas frecuentes (FAQ)
¿Por qué aparece el error después de migrar de hosting?
Es lo más común. Al migrar, los datos de conexión cambian (nuevo servidor, nueva contraseña, nuevo nombre de base de datos). Debes actualizar parameters.php con los nuevos datos.
¿Puedo arreglar PrestaShop sin acceso al cPanel?
Si no tienes acceso al cPanel, necesitarás acceder por FTP. Usa un cliente como FileZilla para descargar y editar el archivo parameters.php. El resto de pasos son similares.
¿Qué significa "el servidor de base de datos no responde"?
Significa que el servidor MySQL está caído o no acepta conexiones. Puede ser un problema temporal del hosting. Contacta con tu proveedor.
¿El error puede deberse a un ataque informático?
En raras ocasiones, un ataque puede modificar el archivo parameters.php. Si sospechas de un ataque, cambia todas tus contraseñas y revisa los registros de acceso.
¿Debo contratar un técnico para arreglar esto?
Si sigues esta guía y no te sientes seguro, puedes contactar con el soporte de tu hosting. Muchos ofrecen ayuda gratuita para este tipo de errores. Pero con paciencia, la mayoría de los usuarios lo resuelven solos.
Conclusión: no es el fin del mundo
El error de conexión a la base de datos en PrestaShop es un problema serio, pero no insuperable. Con acceso a cPanel y siguiendo estos pasos, en la mayoría de los casos podrás arreglar PrestaShop en menos de una hora.
Recuerda: la clave está en el archivo parameters.php, en la contraseña de la base de datos y en que el servidor MySQL esté activo. Revisa estos tres puntos y tu tienda volverá a estar online.
Si al final tienes que restaurar desde una copia de seguridad, no te preocupes: es un proceso normal en el mundo del hosting. Y si te quedas atascado, siempre puedes pedir ayuda en los foros oficiales de PrestaShop o a tu proveedor de hosting.
[TIP] Guarda esta guía en tus marcadores. Te será útil más de una vez, porque estos errores tienden a repetirse cuando haces cambios en tu hosting. Y si usas un panel alternativo como Syspanel, el proceso es muy similar: solo recuerda que el acceso a ese panel se hace por el puerto 2106.
