Guía para solucionar errores de conexión a la base de datos en PrestaShop
¿Por qué aparece el error de conexión a la base de datos en PrestaShop?
Cuando tu tienda online muestra un mensaje como "Error de conexión a la base de datos" o "Link to database cannot be established", el susto es comprensible. Sin embargo, este es uno de los problemas más comunes y, en la mayoría de los casos, tiene una solución sencilla que puedes aplicar tú mismo sin necesidad de ser un experto en programación.
Este error PrestaShop base de datos suele aparecer de repente, incluso si no has tocado nada. Las causas más frecuentes son: un cambio de contraseña en el panel de control del hosting, una migración de servidor, un archivo de configuración corrupto o un fallo temporal del servidor MySQL. En esta guía vamos a recorrer paso a paso todas las soluciones posibles, desde las más simples hasta las más técnicas, para que puedas reparar tu tienda y volver a vender cuanto antes.
Paso 1: Verifica si el servidor MySQL está activo
Antes de tocar ningún archivo, lo primero es comprobar que el servidor de bases de datos está funcionando. A veces el problema no está en tu tienda, sino en el servidor.
¿Cómo comprobarlo?
-
Accede a tu panel de control de hosting (cPanel, Plesk, Syspanel, etc.).
-
Busca la sección "Bases de datos MySQL" o "MySQL Databases".
-
Verás un listado de bases de datos. Comprueba que la que usa tu PrestaShop aparece en la lista y que el estado es "Activa" o "Running".
-
Si tu hosting tiene un gestor como phpMyAdmin, intenta acceder a la base de datos desde ahí. Si phpMyAdmin abre correctamente, el servidor MySQL está funcionando.
[WARNING] Si no puedes acceder a phpMyAdmin ni a la base de datos desde el panel, el problema es del servidor. Contacta con tu proveedor de hosting y diles que tu base de datos no responde. No podrás solucionarlo desde tu lado.
Paso 2: Revisa el archivo parameters.php (la causa más común)
Si el servidor MySQL funciona, el siguiente paso es revisar el archivo de configuración de PrestaShop. Este archivo contiene los datos de acceso a la base de datos y es la causa más habitual del error PrestaShop base de datos.
El archivo se llama parameters.php y se encuentra en la carpeta app/config/ de tu instalación de PrestaShop.
¿Cómo editarlo?
-
Conéctate a tu hosting mediante FTP (FileZilla es una buena opción gratuita) o usa el administrador de archivos del panel de control.
-
Navega hasta la carpeta app/config/.
-
Busca el archivo parameters.php. Haz una copia de seguridad antes de modificarlo (descárgalo a tu ordenador).
-
Ábrelo con un editor de texto plano, como el Bloc de notas o Sublime Text.
-
Busca las líneas que contienen la configuración de la base de datos. Se verán aproximadamente así:
'database_host' => 'localhost',
'database_name' => 'tu_base_de_datos',
'database_user' => 'tu_usuario',
'database_password' => 'tu_contraseña',
¿Qué debes comprobar?
-
database_host: Normalmente es "localhost", pero algunos hostings usan una dirección IP o un nombre de servidor específico. Verifica este dato en tu panel de control.
-
database_name: Debe coincidir exactamente con el nombre de tu base de datos en el hosting. Un error de una letra o un guion bajo puede romper la conexión.
-
database_user: Igual que el anterior, debe coincidir exactamente.
-
database_password: Aquí está el error más frecuente. Si has cambiado la contraseña de la base de datos en el hosting, debes actualizarla también en este archivo. Las contraseñas con caracteres especiales como $, & o # pueden dar problemas. Si es tu caso, prueba a cambiarla por una más simple o a escapar los caracteres con una barra invertida (\).
[TIP] Si no recuerdas la contraseña actual de tu base de datos, puedes cambiarla desde el panel de control de hosting. Luego, actualiza el archivo parameters.php con la nueva contraseña.
Una vez modificado, guarda el archivo y súbelo de nuevo al servidor (si lo estabas editando localmente). Prueba a acceder a tu tienda.
Paso 3: Comprueba los permisos de los archivos
Otra causa de error PrestaShop base de datos es que los archivos de configuración tengan permisos incorrectos. PrestaShop necesita poder leer y escribir en ciertos archivos y carpetas.
¿Qué permisos debe tener cada archivo?
-
parameters.php: Permiso 644 (lectura y escritura para el propietario, solo lectura para el resto).
-
Carpeta app/config/: Permiso 755.
-
Carpeta var/cache/: Permiso 755 (a veces necesita ser 777 en algunos hostings).
¿Cómo cambiar los permisos?
-
Conecta por FTP y haz clic derecho sobre el archivo o carpeta.
-
Selecciona "Permisos de archivo" o "File permissions".
-
Introduce el valor numérico (644, 755, 777) y confirma.
-
Haz lo mismo con las carpetas mencionadas.
[WARNING] No dejes los archivos con permisos 777 permanentemente. Es un riesgo de seguridad. Úsalos solo para probar y luego vuelve a 755 o 644.
Paso 4: Limpia la caché de PrestaShop
A veces el error persiste aunque la configuración sea correcta. Esto suele deberse a una caché corrupta. PrestaShop guarda archivos temporales que pueden contener información antigua de la conexión.
Cómo limpiar la caché manualmente
-
Conecta por FTP y navega hasta la carpeta var/cache/.
-
Dentro encontrarás subcarpetas con nombres como dev o prod.
-
Borra todo el contenido de estas carpetas, pero no borres las carpetas en sí.
-
También puedes borrar el contenido de la carpeta var/logs/ si existe.
-
Sube de nuevo cualquier archivo que hayas borrado por error (por eso es importante la copia de seguridad).
Después de limpiar la caché, intenta acceder a tu tienda.
[INFO] Si no puedes acceder por FTP, también puedes limpiar la caché desde el panel de administración de PrestaShop, pero si el error de conexión te impide entrar, tendrás que hacerlo por FTP o por el administrador de archivos del hosting.
Paso 5: Revisa la versión de MySQL y PHP
PrestaShop es exigente con las versiones de PHP y MySQL. Si tu hosting ha actualizado alguna de ellas, puede que tu versión de PrestaShop ya no sea compatible y falle la conexión.
Versiones recomendadas
-
PrestaShop 1.7 y 8.x: Requiere PHP 7.2 o superior y MySQL 5.6 o superior.
-
PrestaShop 1.6: Funciona mejor con PHP 5.6 o 7.0, aunque puede tener problemas con PHP 7.4 o superior.
¿Cómo comprobar la versión de PHP?
-
Ve al panel de control de hosting.
-
Busca la sección "Select PHP Version" o "PHP Configuration".
-
Verás la versión actual y podrás cambiarla.
-
Si tienes una versión muy nueva (PHP 8.2 o superior) y tu PrestaShop es antiguo, prueba a cambiar a una versión más estable como PHP 7.4 o 8.0.
[WARNING] Antes de cambiar la versión de PHP, haz una copia de seguridad completa de tu tienda. Un cambio de versión puede romper otros módulos o temas.
Paso 6: Verifica que la base de datos no esté llena o corrupta
Una base de datos llena o corrupta también puede provocar el error PrestaShop base de datos. Si tu hosting tiene un límite de espacio y lo has superado, MySQL puede rechazar nuevas conexiones.
Cómo comprobarlo
-
Accede a phpMyAdmin desde tu panel de control.
-
Selecciona tu base de datos en el panel izquierdo.
-
En la pestaña "Estructura" verás el tamaño de cada tabla. Si alguna supera el límite o hay errores, lo notarás.
-
También puedes ejecutar una reparación de tablas: selecciona todas las tablas y en el desplegable inferior elige "Reparar tabla".
Si la base de datos está llena, tendrás que liberar espacio: borra registros antiguos de pedidos, clientes o logs, o contrata más espacio en tu hosting.
Paso 7: Revisa la configuración de Syspanel (para clientes de HestiaCP)
Si tu hosting utiliza Syspanel (antes conocido como HestiaCP), la gestión de bases de datos tiene algunas particularidades. Recuerda que el acceso a Syspanel se realiza a través del puerto 2106 (por ejemplo: https://tudominio.com:2106).
Pasos específicos para Syspanel
-
Entra en Syspanel con tu usuario y contraseña.
-
Ve a la sección "Bases de datos" o "Databases".
-
Verás el nombre de tu base de datos, el usuario y la dirección del servidor MySQL.
-
Comprueba que el usuario tiene permisos completos sobre la base de datos. En Syspanel, cada base de datos suele tener su propio usuario asociado.
-
Si has creado una nueva base de datos recientemente, asegúrate de que el usuario tiene asignados todos los privilegios (SELECT, INSERT, UPDATE, DELETE, etc.).
-
Verifica que el database_host en parameters.php coincide con el valor que muestra Syspanel. A veces no es "localhost", sino una IP como 127.0.0.1 o un nombre de servidor.
[TIP] En Syspanel, el host de la base de datos suele ser localhost o 127.0.0.1. Si tu PrestaShop está en el mismo servidor, cualquiera de los dos debería funcionar. Prueba ambos valores.
Paso 8: Restaura una copia de seguridad
Si has probado todo lo anterior y el error PrestaShop base de datos persiste, la solución definitiva puede ser restaurar una copia de seguridad de tu tienda.
¿Qué copia necesitas?
-
Copia de la base de datos: Deberías tener un archivo .sql de tu base de datos. Puedes generarlo desde phpMyAdmin (Exportar) o desde el panel de hosting.
-
Copia de los archivos: Lo ideal es tener un backup completo de la carpeta de PrestaShop.
Cómo restaurar
-
Sube los archivos de la copia de seguridad a tu servidor (si has perdido archivos).
-
Importa la base de datos desde phpMyAdmin: selecciona tu base de datos, ve a la pestaña "Importar" y sube el archivo .sql.
-
Asegúrate de que el archivo parameters.php coincide con los datos de la base de datos restaurada.
[WARNING] Restaurar una copia de seguridad borrará cualquier cambio realizado después de la fecha de esa copia. Asegúrate de que es la copia más reciente que tengas y que no perderás información crítica.
Preguntas frecuentes (FAQ)
¿Qué hago si no encuentro el archivo parameters.php?
En PrestaShop 1.6, el archivo se llama settings.inc.php y se encuentra en la carpeta config/. En PrestaShop 1.7 y 8.x, es parameters.php en app/config/. Si no lo encuentras, revisa que estás mirando la carpeta correcta y que tu cliente FTP muestra archivos ocultos.
¿Puedo usar la misma base de datos para dos tiendas PrestaShop?
No es recomendable. Cada tienda necesita su propia base de datos. Si usas la misma, los datos se mezclarán y provocarás errores graves. Si necesitas una segunda tienda, crea una nueva base de datos desde tu panel de control.
El error desaparece y vuelve a aparecer. ¿Qué hago?
Esto suele indicar que el servidor MySQL se está reiniciando o que hay un problema de recursos. Contacta con tu proveedor de hosting y pregúntales si hay caídas intermitentes o si has superado el límite de conexiones simultáneas.
¿Debo cambiar el prefijo de las tablas de la base de datos?
No, a menos que haya un motivo específico (como un ataque o una migración). Cambiar el prefijo sin conocimiento puede romper la tienda por completo.
¿Qué significa el error "Link to database cannot be established"?
Es el mensaje genérico de PrestaShop cuando no puede conectarse a MySQL. Las causas son las que hemos visto: credenciales incorrectas, servidor caído, archivo de configuración dañado o incompatibilidad de versiones.
Conclusión: Repara tu tienda paso a paso
El error PrestaShop base de datos puede parecer grave, pero en la mayoría de los casos se soluciona revisando un solo archivo: parameters.php. Empieza siempre por lo más sencillo: comprueba que el servidor MySQL está activo, revisa las credenciales y limpia la caché. Si nada funciona, restaura una copia de seguridad.
Recuerda que la prevención es la mejor herramienta: haz copias de seguridad periódicas de tu base de datos y de tus archivos, mantén tu PrestaShop actualizado y guarda siempre las contraseñas en un lugar seguro. Con estos hábitos, la próxima vez que veas un error de conexión, lo resolverás en minutos y sin sustos.
Si después de seguir todos estos pasos el problema continúa, no dudes en contactar con el soporte técnico de tu hosting. Ellos pueden revisar los logs del servidor y darte información más detallada sobre el origen del fallo.
