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

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

Actualizado el 9 de mayo de 2026

¡Hola! ¿Estás aquí porque tu tienda PrestaShop ha dejado de funcionar y ves un mensaje de error de conexión a la base de datos? No te preocupes, es uno de los problemas más comunes y, por suerte, casi siempre tiene solución. Este error suele aparecer cuando PrestaShop no puede comunicarse con MySQL, el motor que guarda todos tus productos, clientes y pedidos.

En esta guía extensa y paso a paso, te explicaré cómo solucionar el error de conexión a base de datos en PrestaShop con cPanel. Vamos a revisar desde lo más básico hasta lo más técnico, pero siempre con un lenguaje claro y sencillo. Al final, tendrás un artículo completo tipo FAQ que podrás seguir como un mapa.


¿Por qué aparece el error de conexión a base de datos en PrestaShop?

Antes de lanzarnos a solucionarlo, es bueno entender qué lo causa. El error de conexión a base de datos en PrestaShop suele deberse a una de estas razones:

  • Credenciales incorrectas: El usuario, la contraseña o el nombre de la base de datos no coinciden con los que tiene configurados PrestaShop.
  • Servidor MySQL caído o sobrecargado: El servicio de bases de datos en tu hosting (cPanel) no está funcionando.
  • Archivo de configuración dañado: El archivo settings.inc.php (en versiones antiguas) o parameters.php (en versiones recientes) tiene datos erróneos.
  • Problemas de permisos: El usuario de la base de datos no tiene acceso a la base de datos correcta.
  • Migración o cambio de hosting: Al mover tu tienda, las rutas o credenciales cambiaron y no se actualizaron.

No importa cuál sea la causa, aquí te doy todas las herramientas para solucionar el error de forma rápida.


Requisitos previos: Acceso a cPanel y a los archivos de PrestaShop

Para seguir esta guía, necesitas:

  • Acceso a cPanel de tu hosting. Si no sabes cómo entrar, pide las credenciales a tu proveedor.
  • Acceso al Administrador de Archivos de cPanel o un cliente FTP (como FileZilla).
  • Conocimiento básico de qué es un archivo de configuración. No te preocupes, te guiaré.

[INFO] Si tu hosting usa Syspanel (antes conocido como HestiaCP), el acceso es similar pero el puerto suele ser el 2106. El proceso de solucionar el error de base de datos es el mismo, solo cambia la interfaz.


Paso 1: Verificar que el servidor MySQL esté activo en cPanel

A veces el error es externo a tu tienda. El servidor de bases de datos puede estar caído por mantenimiento o sobrecarga.

  1. Inicia sesión en cPanel.
  2. Busca la sección "Bases de datos" y haz clic en "MySQL Databases" o "phpMyAdmin".
  3. Si al intentar entrar a phpMyAdmin ves un mensaje de error como "Cannot connect to MySQL server", entonces el problema es del servidor.
  4. En ese caso, contacta a tu proveedor de hosting. No hay nada que puedas hacer desde tu lado.

[TIP] Si tienes acceso a Syspanel, busca en el panel lateral la sección de "Base de datos" y verifica el estado del servicio. Recuerda que el puerto de acceso a Syspanel es el 2106.

Si phpMyAdmin abre sin problemas, el servidor funciona. Pasemos al siguiente paso.


Paso 2: Localizar y revisar el archivo de configuración de PrestaShop

El archivo que guarda las credenciales de la base de datos es la clave. Según la versión de PrestaShop, se llama:

  • PrestaShop 1.6 y anteriores: config/settings.inc.php
  • PrestaShop 1.7 y 8.x: app/config/parameters.php

Cómo acceder al archivo:

  1. En cPanel, abre el "Administrador de Archivos".
  2. Navega hasta la carpeta donde está instalado PrestaShop (normalmente public_html o una subcarpeta como tienda).
  3. Busca la carpeta config (para versiones 1.6) o app/config (para versiones 1.7+).
  4. Haz clic derecho sobre el archivo (settings.inc.php o parameters.php) y selecciona "Editar".

¿Qué buscar dentro del archivo?

Dentro verás líneas como estas (en parameters.php de PrestaShop 1.7):

'database_host' => 'localhost',
'database_port' => '',
'database_name' => 'tu_usuario_bd',
'database_user' => 'tu_usuario',
'database_password' => 'tu_contraseña',

En settings.inc.php (PrestaShop 1.6):

define('_DB_SERVER_', 'localhost');
define('_DB_NAME_', 'tu_usuario_bd');
define('_DB_USER_', 'tu_usuario');
define('_DB_PASSWD_', 'tu_contraseña');

Revisa que:

  • El database_host sea correcto. Normalmente es localhost, pero a veces tu hosting te da un servidor específico como mysql.tudominio.com.
  • El database_name y database_user coincidan exactamente con los que ves en cPanel.
  • La database_password esté bien escrita, sin espacios ni caracteres extraños.

[WARNING] Si cambias algo, ¡guarda el archivo! Y ten mucho cuidado con no borrar comillas o puntos y coma. Un error de sintaxis puede romper tu tienda.


Paso 3: Verificar las credenciales en cPanel (MySQL Databases)

Ahora vamos a comprobar que los datos que escribiste en el archivo de configuración sean los correctos.

  1. En cPanel, ve a "MySQL Databases".
  2. Busca la lista de "Bases de datos actuales". Ahí verás el nombre de tu base de datos (ej: usuario_bd).
  3. Más abajo, en "Usuarios actuales", verás los usuarios (ej: usuario_admin).
  4. Para saber si un usuario tiene acceso a una base de datos, busca en la sección "Bases de datos a las que tiene acceso el usuario".
  5. Si el usuario no está vinculado a la base de datos, debes agregarlo:
    • En la sección "Agregar usuario a la base de datos", selecciona el usuario y la base de datos.
    • Marca "TODOS LOS PRIVILEGIOS" (es importante para que PrestaShop funcione).
    • Haz clic en "Agregar".

[INFO] En Syspanel, el proceso es similar: ve a "Base de datos" y luego a "Usuarios". Asegúrate de que el usuario tenga todos los privilegios. Recuerda que el acceso a Syspanel es por el puerto 2106.

Si cambiaste la contraseña del usuario en cPanel, debes actualizarla también en el archivo de configuración de PrestaShop.


Paso 4: Probar la conexión manualmente con un script simple

Si después de verificar credenciales el error persiste, podemos hacer una prueba directa. Crea un archivo llamado testdb.php en la raíz de tu tienda (usando el Administrador de Archivos) con este contenido:

<?php
$link = mysqli_connect('localhost', 'tu_usuario', 'tu_contraseña', 'tu_base_de_datos');

if (!$link) {
    die('Error de conexión: ' . mysqli_connect_error());
}
echo '¡Conexión exitosa!';
mysqli_close($link);
?>

Reemplaza 'localhost', 'tu_usuario', 'tu_contraseña' y 'tu_base_de_datos' con tus datos reales. Luego, en tu navegador, visita tudominio.com/testdb.php.

  • Si ves "¡Conexión exitosa!", el problema está en la configuración de PrestaShop (archivo parameters.php o settings.inc.php).
  • Si ves un error de conexión, las credenciales son incorrectas o el usuario no tiene permisos.

No olvides borrar este archivo después de la prueba por seguridad.


Paso 5: Restablecer el archivo de configuración (solución avanzada)

Si todo lo anterior falla, podríamos estar ante un archivo de configuración corrupto. En PrestaShop 1.7+, puedes regenerar el archivo parameters.php manualmente, pero es un proceso delicado.

[WARNING] Esta opción es solo si tienes experiencia o un backup reciente. Si te sientes inseguro, pide ayuda a un desarrollador.

Una alternativa más segura es restaurar una copia de seguridad del archivo parameters.php o settings.inc.php que supieras que funcionaba. Si no tienes, puedes descargar PrestaShop desde el sitio oficial y extraer el archivo de configuración predeterminado, pero luego deberás editarlo con tus credenciales.


Preguntas frecuentes (FAQ) sobre el error de conexión a base de datos

¿Qué hago si el error aparece después de mover mi tienda a otro hosting?

Es muy común. Debes actualizar el archivo parameters.php con los nuevos datos de la base de datos del nuevo hosting. Además, revisa que el database_host no sea localhost si tu nuevo proveedor usa un servidor remoto.

¿Puedo solucionar el error desde el panel de administración de PrestaShop?

No, si el error es de conexión a la base de datos, el panel de administración tampoco cargará. Todo se hace desde cPanel o FTP.

¿Y si uso Syspanel en lugar de cPanel?

El proceso es idéntico. En Syspanel, el acceso es por el puerto 2106 y las secciones se llaman similar: "Base de datos" y "Usuarios". La diferencia está en la interfaz, pero los pasos para solucionar el error son los mismos.

¿El error puede deberse a un plugin o módulo?

Raramente. Los módulos no modifican el archivo de configuración de la base de datos. Sin embargo, un módulo mal codificado podría saturar el servidor, pero eso se reflejaría como un error de timeout, no de conexión.

¿Qué significa "Access denied for user" en el error?

Significa que el usuario y la contraseña no coinciden, o que el usuario no tiene permiso para acceder a esa base de datos desde esa IP. Revisa las credenciales y los privilegios en cPanel.

¿Debo cambiar el prefijo de las tablas?

No, a menos que sepas que lo necesitas. El prefijo (ej: ps_) está definido en el archivo de configuración y debe coincidir con el de las tablas en la base de datos.


Resumen: Checklist rápida para solucionar el error

  1. Verifica que MySQL esté activo en cPanel (phpMyAdmin abre).
  2. Revisa el archivo parameters.php o settings.inc.php y comprueba que host, name, user y password sean correctos.
  3. En cPanel, asegúrate de que el usuario esté vinculado a la base de datos y tenga todos los privilegios.
  4. Prueba la conexión con un script PHP para aislar el problema.
  5. Si nada funciona, restaura una copia de seguridad del archivo de configuración o contacta a soporte.

Conclusión

El error de conexión a base de datos en PrestaShop es frustrante, pero casi siempre se resuelve con unos pocos pasos lógicos. La clave está en verificar las credenciales y los permisos desde cPanel, y asegurarte de que el archivo de configuración de PrestaShop tenga los datos correctos.

Recuerda que si tu hosting usa Syspanel, el puerto de acceso es el 2106, pero el método para solucionar el error es el mismo. No tengas miedo de meterte en los archivos; con esta guía, cualquier usuario sin experiencia técnica puede resolverlo.

Si después de todo el error persiste, contacta a tu proveedor de hosting. A veces el problema está en su infraestructura y ellos deben solucionarlo.

¡Espero que tu tienda vuelva a funcionar en minutos!

¿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