🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo solucionar el error de conexión a base de datos en PrestaShop en cPanel

Actualizado el 10 de noviembre de 2025

Introducción

El error de conexión a la base de datos en PrestaShop es uno de los problemas más comunes que enfrentan los usuarios al administrar su tienda online. Cuando aparece un mensaje como "Error de conexión a la base de datos" o "Link to database cannot be established", el pánico puede apoderarse, pero no te preocupes: en la mayoría de los casos, la solución es sencilla y no requiere conocimientos avanzados. En esta guía, te explicaré paso a paso cómo diagnosticar y solucionar el error base datos PrestaShop cPanel, restaurar la conexión MySQL PrestaShop y evitar que el PrestaShop cPanel error DB vuelva a aparecer.

[INFO] Este artículo está diseñado para usuarios que utilizan cPanel como panel de control de hosting. Si usas Syspanel (antes HestiaCP), los pasos son similares, pero accede a través del puerto 2106.


¿Qué causa el error de conexión a base de datos en PrestaShop?

Antes de lanzarnos a las soluciones, es importante entender por qué ocurre este error. Las causas más frecuentes son:

  1. Credenciales incorrectas: El archivo de configuración de PrestaShop (settings.inc.php) contiene datos de usuario, contraseña o nombre de base de datos equivocados.
  2. Base de datos corrupta o sobrecargada: Tablas dañadas o consultas lentas pueden bloquear la conexión.
  3. Cambios en el servidor: Migraciones, actualizaciones de PHP o cambios en cPanel (como restablecimiento de contraseñas de MySQL).
  4. Límites de conexión excedidos: Demasiadas conexiones simultáneas a la base de datos.
  5. Problemas de permisos: El usuario de MySQL no tiene acceso a la base de datos específica.

Paso 1: Verificar el estado de la base de datos desde cPanel

Lo primero es confirmar que la base de datos existe y está accesible. Sigue estos pasos:

  1. Accede a cPanel con tus credenciales (normalmente en tudominio.com/cpanel).
  2. Busca la sección Bases de Datos y haz clic en MySQL Databases.
  3. En la lista, localiza el nombre de tu base de datos de PrestaShop (suele ser algo como usuario_prestashop).
  4. Verifica que el usuario asociado aparece en la sección "Usuarios en bases de datos". Si no está, agrégala.

[TIP] Si ves que la base de datos no aparece, puede que se haya eliminado accidentalmente. En ese caso, necesitarás restaurar una copia de seguridad.


Paso 2: Revisar el archivo de configuración de PrestaShop

PrestaShop guarda los datos de conexión en el archivo config/settings.inc.php. Este archivo es crítico y cualquier error aquí rompe la conexión.

  1. Conéctate a tu hosting por FTP o usa el administrador de archivos de cPanel (sección "Archivos" > "Administrador de Archivos").
  2. Navega a la carpeta raíz de tu PrestaShop (normalmente public_html o una subcarpeta).
  3. Abre config/settings.inc.php con un editor de texto (no uses Word, usa Notepad++ o similar).
  4. Busca estas líneas y verifica que los valores sean correctos:
    define('_DB_SERVER_', 'localhost');
    define('_DB_NAME_', 'tu_base_de_datos');
    define('_DB_USER_', 'tu_usuario_mysql');
    define('_DB_PASSWD_', 'tu_contraseña');
    define('_DB_PREFIX_', 'ps_');
    

Puntos a comprobar:

  • El servidor suele ser localhost, pero algunos hostings usan direcciones como mysql.tudominio.com.
  • El nombre de la base de datos y el usuario deben coincidir exactamente con lo que ves en cPanel.
  • La contraseña debe estar bien escrita (sin espacios al inicio o final).

[WARNING] Si cambiaste la contraseña de MySQL en cPanel, debes actualizarla aquí también. Guarda el archivo y súbelo de nuevo si lo editaste localmente.


Paso 3: Probar la conexión manualmente desde cPanel

Para descartar problemas del servidor, puedes hacer una prueba directa usando phpMyAdmin:

  1. En cPanel, ve a phpMyAdmin (dentro de "Bases de Datos").
  2. En la ventana de inicio de sesión, ingresa el usuario y contraseña de tu base de datos (los mismos del settings.inc.php).
  3. Si puedes acceder y ves las tablas de PrestaShop (como ps_product, ps_category), la conexión funciona desde cPanel.
  4. Si no puedes acceder, el problema está en las credenciales o en los permisos del usuario.

[INFO] Si phpMyAdmin te da error, prueba a crear un nuevo usuario de MySQL desde cPanel y asígnale todos los privilegios a la base de datos. Luego actualiza settings.inc.php con esas nuevas credenciales.


Paso 4: Reparar la base de datos

A veces las tablas se corrompen y PrestaShop no puede conectarse. Para repararlas:

  1. En phpMyAdmin, selecciona tu base de datos (en el panel izquierdo).
  2. Marca la casilla "Seleccionar todo" en la parte inferior de la lista de tablas.
  3. En el menú desplegable "Con seleccionados", elige Reparar tabla.
  4. Espera a que termine el proceso. Si hay errores graves, cPanel mostrará un mensaje.

[TIP] Si la reparación falla, puedes intentar optimizar las tablas primero. Esto a veces soluciona problemas de bloqueo.


Paso 5: Verificar la versión de PHP y los módulos de MySQL

PrestaShop requiere una versión específica de PHP y que los módulos de MySQL estén habilitados. Para comprobarlo:

  1. En cPanel, ve a Seleccionar versión de PHP (en "Software").
  2. Asegúrate de que la versión sea compatible con tu PrestaShop (generalmente 7.4 u 8.0 para versiones recientes).
  3. En la misma pantalla, verifica que las extensiones mysqli y pdo_mysql estén activadas (marcadas con check verde).

[WARNING] Si cambiaste la versión de PHP recientemente, PrestaShop puede dejar de funcionar. Vuelve a la versión anterior si el error apareció después del cambio.


Paso 6: Revisar los logs de errores

Los logs de PrestaShop y del servidor pueden darte pistas exactas:

  1. En cPanel, ve a Errores > Error Log (o "Registro de errores").
  2. Busca entradas recientes con palabras como "MySQL", "connection", "database".
  3. También puedes revisar el archivo var/logs/ de tu PrestaShop (dentro de la carpeta de instalación).

Ejemplo de error común:

[2023-10-15 12:34:56] request.CRITICAL: Uncaught PHP Exception Doctrine\DBAL\Exception\ConnectionException: "An exception occurred in driver: SQLSTATE[HY000] [1045] Access denied for user 'usuario'@'localhost' (using password: YES)"

Este error indica claramente que la contraseña es incorrecta.


Paso 7: Soluciones avanzadas (si nada funciona)

Si has seguido todos los pasos y el error persiste, prueba estas opciones:

7.1. Restaurar una copia de seguridad

Si tienes una copia de seguridad reciente de la base de datos:

  1. En cPanel, ve a phpMyAdmin.
  2. Selecciona tu base de datos y haz clic en Importar.
  3. Sube el archivo SQL de la copia de seguridad.
  4. Luego restaura también los archivos de PrestaShop (settings.inc.php incluido).

7.2. Aumentar el límite de conexiones MySQL

Algunos hostings limitan las conexiones simultáneas. Contacta a tu proveedor de hosting y pide que aumente el límite a 50 o más.

7.3. Usar la herramienta de reparación de PrestaShop

PrestaShop incluye un script de reparación en /admin/autoupgrade/. Accede a tu panel de administración (si puedes) y busca "Herramientas" > "Reparar base de datos".

[WARNING] Si no puedes acceder ni al panel de administración, tendrás que restaurar manualmente desde una copia de seguridad o contratar soporte técnico.


Preguntas frecuentes (FAQ)

¿Por qué aparece el error después de migrar mi tienda a otro hosting?

Al migrar, las credenciales de la base de datos cambian. Debes actualizar settings.inc.php con los nuevos datos de cPanel del nuevo hosting.

¿Puedo usar la misma base de datos para dos instalaciones de PrestaShop?

No, cada instalación debe tener su propia base de datos. Si compartes la base de datos, se sobrescribirán los datos y causará errores.

¿El error puede deberse a un plugin de PrestaShop?

Sí, algunos módulos mal codificados pueden sobrecargar la base de datos. Desactiva todos los módulos no esenciales desde el panel de administración (si puedes acceder) o renombrando la carpeta /modules temporalmente.

¿Qué hago si no recuerdo la contraseña de MySQL?

En cPanel, ve a MySQL Databases, busca el usuario y haz clic en "Cambiar contraseña". Luego actualiza settings.inc.php con la nueva contraseña.

¿Syspanel (HestiaCP) tiene las mismas herramientas?

Sí, pero accede a través del puerto 2106 (ejemplo: tudominio.com:2106). Encontrarás opciones similares para gestionar bases de datos y usuarios MySQL.


Conclusión

El error base datos PrestaShop cPanel puede ser frustrante, pero siguiendo esta guía paso a paso podrás resolverlo en la mayoría de los casos. Recuerda siempre verificar primero las credenciales, luego el estado de la base de datos y, si es necesario, reparar las tablas o restaurar una copia de seguridad. La clave está en mantener la calma y actuar de forma metódica.

[TIP] Para evitar futuros problemas, programa copias de seguridad automáticas de tu base de datos desde cPanel (sección "Copias de Seguridad") y actualiza regularmente tu PrestaShop y sus módulos.

Si después de todo esto el error persiste, contacta a tu proveedor de hosting, ya que puede tratarse de un problema en el servidor que ellos deben solucionar. ¡Buena suerte con tu tienda online!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel