Solución: Error de conexión a la base de datos en PrestaShop (cPanel/Plesk)
¿Por qué PrestaShop no conecta con MySQL?
Cuando ves el temido mensaje de "Error de conexión a la base de datos" en tu tienda PrestaShop, lo primero que piensas es que has perdido todos tus productos, pedidos y clientes. Respira hondo: en el 90% de los casos, tus datos están a salvo y el problema es solo una configuración o un servicio caído.
Este error aparece cuando PrestaShop intenta comunicarse con MySQL y no recibe respuesta. Las causas más comunes son:
-
El servidor MySQL está detenido o reiniciándose.
-
Las credenciales de acceso (usuario, contraseña, nombre de base de datos) son incorrectas.
-
La dirección del servidor de base de datos ha cambiado.
-
El archivo de configuración
parameters.phpestá dañado o con permisos incorrectos. -
Hay un problema de memoria o de conexiones simultáneas.
-
El hosting ha movido tu sitio a otro servidor sin actualizar la configuración.
A lo largo de esta guía, vamos a resolver cada uno de estos escenarios paso a paso, tanto si usas cPanel como Plesk. No necesitas ser un experto en programación: solo sigue las instrucciones al pie de la letra.
Antes de empezar: haz una copia de seguridad
[WARNING] No modifiques nada sin antes hacer una copia de seguridad de tu base de datos y de los archivos de configuración. Si algo sale mal, podrás restaurar todo en minutos.
La mayoría de los paneles de control (cPanel y Plesk) tienen herramientas de copia de seguridad automática. Si no estás seguro de cómo hacerlo, contacta con tu proveedor de hosting y pide que te ayuden a generar un backup completo.
Solución paso a paso para cPanel
1. Verifica que MySQL esté activo
Entra en tu cPanel y busca la sección "MySQL" o "Bases de datos MySQL". Si ves un icono verde o un mensaje que dice "en ejecución", el servicio está activo. Si está apagado, intenta reiniciarlo desde la opción "Restart MySQL" (algunos hosts no permiten esto, en ese caso contacta con soporte).
[TIP] A veces MySQL se cae por falta de memoria. Si tu hosting es compartido, el proveedor lo reinicia automáticamente en unos minutos. Espera 5 minutos y recarga tu tienda.
2. Revisa las credenciales en el archivo parameters.php
PrestaShop guarda los datos de conexión en el archivo:
/config/parameters.php
Accede a tu hosting mediante el Administrador de archivos de cPanel o por FTP (con FileZilla, por ejemplo). Busca el archivo y ábrelo con un editor de texto.
Dentro verás algo parecido a esto:
'database_host' => 'localhost',
'database_name' => 'tu_usuario_bd',
'database_user' => 'tu_usuario_bd',
'database_password' => 'tu_contraseña',
Comprueba que:
-
El host sea
localhosto la dirección que te indique tu hosting (a veces esmysql.tudominio.com). -
El nombre de la base de datos coincida exactamente con el que ves en cPanel.
-
El usuario y la contraseña sean correctos.
[INFO] En cPanel, el nombre de la base de datos y el usuario suelen tener un prefijo con tu nombre de cuenta. Por ejemplo: usuario123_bd_prestashop. No te olvides de escribir el prefijo completo.
3. Comprueba los permisos del archivo
El archivo parameters.php debe tener permisos 644 (lectura y escritura para el propietario, solo lectura para el resto). Si tiene permisos 600 o 777, puede dar problemas.
Para cambiarlo en el Administrador de archivos de cPanel:
-
Haz clic derecho sobre el archivo.
-
Selecciona "Cambiar permisos".
-
Introduce
644y guarda.
4. Verifica que el usuario tenga privilegios sobre la base de datos
A veces el error aparece porque el usuario no tiene todos los privilegios. En cPanel:
-
Ve a "Bases de datos MySQL".
-
Busca tu base de datos en la lista.
-
Junto al usuario, haz clic en "Administrar privilegios".
-
Marca "TODOS LOS PRIVILEGIOS" y guarda.
[TIP] Si acabas de mover tu tienda desde otro hosting, es muy probable que las credenciales hayan cambiado. Este es el paso que más suele resolver el error conexión base datos prestashop.
5. Reinicia PrestaShop desde el panel de administración
Si no puedes entrar al panel de administración, prueba a limpiar la caché:
-
Borra el contenido de la carpeta
/var/cache(excepto el archivo.htaccesssi existe). -
Si tienes acceso a la base de datos por phpMyAdmin, ejecuta esta consulta en la tabla
ps_configuration:
DELETE FROM ps_configuration WHERE name LIKE 'PS_CACHE%';
Esto fuerza a PrestaShop a regenerar la configuración de caché.
Solución paso a paso para Plesk
1. Comprueba el estado del servicio MySQL
En Plesk, ve a "Herramientas y ajustes" → "Servicios" → "MySQL". Si el servicio aparece detenido, actívalo con el botón correspondiente.
2. Revisa la configuración desde el panel de Plesk
Plesk suele gestionar las bases de datos con nombres más limpios. Accede a "Bases de datos" en el panel de tu dominio.
Cada base de datos tiene su usuario asociado. Comprueba que:
-
El nombre de la base de datos coincide con el de
parameters.php. -
El usuario y la contraseña son los correctos.
-
El host es
localhost(o el que indique tu proveedor).
3. Usa la herramienta de reparación de Plesk
Plesk tiene una utilidad llamada "Repair Kit" que puede solucionar problemas de configuración automáticamente:
-
Ve a "Herramientas y ajustes".
-
Busca "Repair Kit".
-
Selecciona "Base de datos" y ejecuta la reparación.
[WARNING] La reparación puede tardar varios minutos. No cierres la pestaña del navegador ni interrumpas el proceso.
4. Si usas Syspanel (antes HestiaCP)
Si tu hosting usa Syspanel (el antiguo HestiaCP), el acceso se realiza por el puerto 2106. La estructura es similar a Plesk:
-
Entra en
https://tudominio.com:2106. -
Ve a "Bases de datos" en el menú lateral.
-
Verifica que la base de datos y el usuario existen y que la contraseña es correcta.
-
Si el servicio MySQL está caído, reinícialo desde "Servicios".
Errores específicos y sus soluciones rápidas
Error "Link to database cannot be established"
Este es el mensaje más común. Significa que PrestaShop no puede conectarse a MySQL. Las causas más habituales son:
-
Contraseña incorrecta: pide a tu hosting que te genere una nueva contraseña para la base de datos.
-
Host incorrecto: si cambiaste de servidor, el host puede ser algo como
db.tudominio.comen lugar delocalhost. -
Base de datos llena: revisa el espacio disponible en tu plan de hosting.
Error "Too many connections"
MySQL tiene un límite de conexiones simultáneas. Si tu tienda recibe mucho tráfico, este error puede aparecer.
Soluciones:
-
Aumenta el límite desde cPanel/Plesk (si tu plan lo permite).
-
Optimiza tu tienda con un plugin de caché.
-
Contacta con tu hosting para que aumente el valor
max_connections.
Error "Access denied for user"
Este error indica que el usuario no tiene permiso para acceder a la base de datos.
-
Verifica que el usuario está asociado a la base de datos correcta.
-
Comprueba que la contraseña no tiene caracteres especiales que se estén escapando mal en el archivo de configuración.
[TIP] Si tu contraseña contiene caracteres como $, &, # o %, prueba a cambiarla por una más simple (solo letras y números). Esto evita problemas de escape en PHP.
Solución avanzada: editar parameters.php manualmente
Si todo lo anterior falla, puedes editar el archivo parameters.php directamente. Aquí tienes un ejemplo completo:
<?php
return array(
'parameters' => array(
'database_host' => 'localhost',
'database_port' => '',
'database_name' => 'tu_base_de_datos',
'database_user' => 'tu_usuario',
'database_password' => 'tu_contraseña',
'database_prefix' => 'ps_',
'database_engine' => 'InnoDB',
'secret' => 'genera_un_codigo_aleatorio_aqui',
),
);
[WARNING] No inventes el campo secret. Si lo cambias, PrestaShop invalidará las sesiones de tus clientes y tendrás que entrar de nuevo al panel de administración.
Para generar un secret válido, puedes usar cualquier generador de cadenas aleatorias online o ejecutar este comando en la terminal de tu hosting:
openssl rand -hex 32
Preguntas frecuentes sobre el error de conexión
¿Por qué PrestaShop no conecta MySQL después de mover el hosting?
Al cambiar de servidor, las credenciales suelen ser diferentes. Debes actualizar parameters.php con los nuevos datos que te proporcione tu hosting.
¿Puedo arreglar el error sin acceso al panel de administración?
Sí. Puedes editar el archivo parameters.php por FTP o desde el administrador de archivos de tu panel de control.
¿Cuánto tiempo se tarda en solucionar?
Si el problema es solo de credenciales, en 5 minutos lo tienes resuelto. Si hay que reparar MySQL o restaurar una copia de seguridad, puede llevar de 30 minutos a unas horas.
¿Qué hago si nada funciona?
Si has seguido todos los pasos y el error persiste, contacta con tu proveedor de hosting. Ellos tienen acceso directo a los logs de MySQL y pueden ver el error exacto.
Consejos finales para evitar futuros errores
-
Guarda siempre las credenciales de tu base de datos en un gestor de contraseñas.
-
No compartas contraseñas de bases de datos en correos o chats.
-
Haz copias de seguridad semanales de tu base de datos y archivos.
-
Mantén PrestaShop actualizado a la última versión estable.
-
Si usas Syspanel, recuerda que el acceso es por el puerto 2106 y que las copias de seguridad se gestionan desde el propio panel.
La solución error base datos prestashop casi siempre está en estos tres puntos: el servicio MySQL está activo, las credenciales son correctas y el archivo parameters.php está bien configurado. Con esta guía, tendrás tu tienda funcionando en menos de lo que tardas en prepararte un café.
[TIP] Si después de todo esto tu tienda sigue caída, no intentes tocar más cosas. Llama a tu proveedor de hosting y diles: "Mi PrestaShop no conecta con MySQL y ya he verificado credenciales y permisos". Con esa frase, el soporte técnico sabrá exactamente qué revisar.
