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

Solución a error de conexión a base de datos en PrestaShop (cPanel)

Actualizado el 3 de diciembre de 2025

¡Hola! Soy el técnico de soporte amigable de tu equipo de hosting. Hoy vamos a resolver uno de los problemas más comunes y frustrantes que puedes encontrar al gestionar tu tienda online con PrestaShop: el temido error de conexión a la base de datos.

Este error suele aparecer de repente, dejando tu tienda inaccesible y mostrando un mensaje como "Cannot connect to database" o "Error de conexión a la base de datos". No te preocupes, es un problema frecuente y, por lo general, tiene una solución sencilla. En esta guía paso a paso, te explicaré cómo diagnosticar y solucionar el error base de datos PrestaShop, especialmente si tienes tu hosting en cPanel.

Vamos a centrarnos en el archivo clave de configuración: settings.inc.php PrestaShop, donde se guardan los datos de acceso a tu base de datos (como el usuario, la contraseña, el nombre de la BD y el servidor). También tocaremos otros posibles orígenes del fallo, como la saturación del servidor, cambios de contraseña o problemas con los permisos de la base de datos.


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

Antes de empezar a arreglarlo, es útil entender qué significa este error. Básicamente, tu instalación de PrestaShop intenta conectarse a la base de datos MySQL (donde se almacenan productos, pedidos, clientes, etc.) y no lo consigue. Las causas más habituales son:

  • Cambio de contraseña de la base de datos: Has cambiado la contraseña desde cPanel y no has actualizado el archivo de configuración de PrestaShop.
  • Cambio de usuario o nombre de la base de datos: Por ejemplo, si has restaurado una copia de seguridad en un hosting diferente.
  • El servidor de base de datos está caído o saturado: El hosting puede tener un pico de tráfico o un fallo temporal.
  • Archivo de configuración corrupto o mal editado: Al modificar manualmente el settings.inc.php PrestaShop se puede dañar la sintaxis.
  • Permisos incorrectos del usuario de la base de datos: El usuario no tiene todos los privilegios necesarios.
  • Problema con el prefijo de las tablas: En raras ocasiones, el prefijo configurado no coincide con el real.

Paso 1: Acceder a cPanel y localizar los datos de tu base de datos

Lo primero que necesitas es tener a mano los datos correctos de tu base de datos. Para ello, accede a tu panel de control cPanel (normalmente en tudominio.com/cpanel o tudominio.com:2083).

Dentro de cPanel, busca la sección "Bases de Datos" y haz clic en "Bases de Datos MySQL".

Allí verás una lista de todas las bases de datos que tienes. Anota:

  • Nombre de la base de datos: Normalmente tiene un formato como tudominio_bdpresta.
  • Usuarios de la base de datos: Al lado de cada base de datos verás los usuarios asociados (ej. tudominio_userpresta).
  • Contraseña: Si no la recuerdas, puedes hacer clic en "Cambiar contraseña" para establecer una nueva. Importante: Si cambias la contraseña aquí, luego tendrás que actualizarla en el archivo de configuración de PrestaShop.

[TIP] Si no ves ninguna base de datos, puede que tu hosting use otro sistema. En ese caso, contacta con tu proveedor de hosting para que te facilite los datos de acceso a la BD.


Paso 2: Localizar y editar el archivo settings.inc.php

El archivo settings.inc.php PrestaShop es el corazón de la configuración de tu tienda. Se encuentra en la carpeta config de tu instalación de PrestaShop.

  1. Accede al Administrador de Archivos de cPanel. Puedes encontrarlo en la sección "Archivos".
  2. Navega hasta la carpeta raíz de tu tienda. Normalmente es public_html o una subcarpeta (por ejemplo, public_html/tienda).
  3. Dentro de esa carpeta, busca la carpeta config.
  4. Dentro de config, localiza el archivo settings.inc.php.
  5. Haz clic derecho sobre el archivo y selecciona "Editar" (o "Code Editor"). Si te pide confirmación para codificar, acepta.

Se abrirá el editor con el contenido del archivo. Verás algo similar a esto (los valores reales serán diferentes):

<?php
// Datos de conexión a la base de datos
define('_DB_SERVER_', 'localhost');
define('_DB_NAME_', 'tudominio_bdpresta');
define('_DB_USER_', 'tudominio_userpresta');
define('_DB_PASSWD_', 'contraseña_antigua');
define('_DB_PREFIX_', 'ps_');
define('_MYSQL_ENGINE_', 'InnoDB');
define('_DB_COLLATION_', 'utf8mb4_general_ci');
// ... más configuraciones ...

¿Qué debes comprobar y modificar aquí?

  • _DB_SERVER_: Normalmente es localhost. Si tu hosting usa un servidor de bases de datos externo, te lo habrán proporcionado. Déjalo como localhost a menos que sepas que es diferente.
  • _DB_NAME_: Debe coincidir exactamente con el nombre de la base de datos que viste en cPanel (Paso 1).
  • _DB_USER_: Debe coincidir exactamente con el nombre del usuario que tiene acceso a esa base de datos.
  • `DB_PASSWD': Debe ser la contraseña actual de ese usuario. Si cambiaste la contraseña en cPanel, este es el lugar para poner la nueva.
  • _DB_PREFIX_: Es el prefijo de las tablas (ej. ps_). Normalmente no se toca.

Corrige los valores si es necesario y guarda los cambios (Ctrl+S o botón "Guardar cambios").

[WARNING] Ten mucho cuidado al editar este archivo. No borres ni modifiques ninguna otra línea que no sean las cuatro mencionadas (DB_SERVER, DB_NAME, DB_USER, DB_PASSWD). Un error de sintaxis (como una comilla o un punto y coma faltante) puede dejar tu tienda completamente inaccesible.


Paso 3: Verificar los permisos del usuario de la base de datos

A veces, aunque los datos sean correctos, el usuario no tiene los permisos necesarios para conectarse y leer/escribir en la base de datos.

  1. En cPanel, ve a "Bases de Datos MySQL".
  2. Busca la sección "Añadir usuario a la base de datos" (o similar).
  3. En el desplegable, selecciona el usuario y la base de datos que utiliza tu PrestaShop.
  4. Haz clic en "Añadir".
  5. Te aparecerá una pantalla con todos los privilegios. Marca la opción "TODOS LOS PRIVILEGIOS" (o "ALL PRIVILEGES") y haz clic en "Realizar cambios".

Esto asegura que el usuario tiene acceso completo para gestionar la base de datos. Si no lo tenía, este simple paso puede solucionar el error.


Paso 4: Comprobar el estado del servidor de base de datos

Si los datos son correctos y los permisos están bien, el problema puede ser del servidor. A veces, el servicio de MySQL se detiene o se satura.

  1. En cPanel, busca la sección "Estado del servidor" o "MySQL Status" (puede variar según el tema de cPanel).
  2. Si ves que MySQL aparece como "Down" o "Detenido", deberás reiniciarlo. No todos los planes de hosting permiten esto. Busca la opción "Reiniciar MySQL" o contacta con el soporte de tu hosting para que lo hagan.
  3. También puedes comprobar si hay muchas conexiones activas. Si el límite de conexiones simultáneas se ha superado, puede dar error. En ese caso, la solución suele ser esperar unos minutos o contactar al soporte para aumentar el límite.

[INFO] Si tu hosting tiene muchos sitios web y todos comparten el mismo servidor MySQL, un pico de tráfico en otra web puede afectar a la tuya. Esto es menos común, pero ocurre.


Paso 5: Probar la conexión con un script simple (opcional pero útil)

Para descartar que el problema sea exclusivamente de PrestaShop, puedes crear un pequeño archivo PHP que intente conectarse a la base de datos con los mismos datos.

  1. En el Administrador de Archivos, dentro de la carpeta raíz de tu tienda, crea un nuevo archivo llamado test_conexion.php.
  2. Pega el siguiente código:
<?php
$servidor = 'localhost'; // Cambia si es necesario
$usuario = 'tudominio_userpresta'; // Pon tu usuario real
$contrasena = 'tu_contraseña_real'; // Pon tu contraseña real
$basedatos = 'tudominio_bdpresta'; // Pon tu base de datos real

$conexion = new mysqli($servidor, $usuario, $contrasena, $basedatos);

if ($conexion->connect_error) {
    die("Error de conexión: " . $conexion->connect_error);
} else {
    echo "¡Conexión exitosa a la base de datos!";
}
$conexion->close();
?>
  1. Guarda el archivo y luego accede a él desde tu navegador: tudominio.com/test_conexion.php.
  2. Si ves el mensaje "¡Conexión exitosa a la base de datos!", significa que los datos son correctos y el problema está en otro lugar (quizás en un archivo corrupto de PrestaShop o en un plugin).
  3. Si ves un error, ese error te dará pistas (por ejemplo, "Access denied for user" indica contraseña incorrecta, "Unknown database" indica nombre de BD incorrecto).

No olvides borrar este archivo una vez que hayas terminado la prueba, ya que expone tus credenciales.


Paso 6: Soluciones adicionales para errores persistentes

Si después de seguir todos los pasos anteriores el error base de datos PrestaShop persiste, prueba estas opciones:

Restaurar una copia de seguridad del settings.inc.php

Si has estado editando el archivo y crees que lo has dañado, puedes restaurar una copia de seguridad. En cPanel, busca la opción "Restaurar una copia de seguridad" o "Backup". Si tienes una copia de seguridad de tu sitio, restaura solo el archivo config/settings.inc.php.

Comprobar si el problema es un módulo o tema

A veces, un módulo o tema mal programado puede sobrescribir la configuración de la base de datos. Para descartarlo:

  1. Desde el Administrador de Archivos, renombra temporalmente la carpeta modules a modules_backup.
  2. Renombra la carpeta themes a themes_backup (esto dejará tu tienda sin plantilla, pero la conexión a BD debería funcionar).
  3. Si la tienda vuelve a cargar (aunque se vea fea), el problema es de un módulo o tema. Ve renombrando carpetas de módulos de uno en uno para identificar al culpable.

Contactar con el soporte de hosting

Si nada funciona, es hora de pedir ayuda al equipo de soporte de tu hosting. Diles que has verificado los datos en cPanel, has editado el settings.inc.php PrestaShop y has comprobado los permisos, pero el error persiste. Ellos podrán revisar los logs del servidor y ver si hay un problema más profundo (como un bloqueo por IP, un firewall o un error en el demonio de MySQL).


FAQ: Preguntas frecuentes sobre el error de conexión a la base de datos

P: ¿Por qué aparece el error después de migrar mi tienda a un nuevo hosting?

R: Es muy común. Al migrar, los datos de la base de datos (nombre, usuario, contraseña) suelen cambiar. Debes editar el archivo settings.inc.php PrestaShop con los nuevos datos que te proporcione el nuevo hosting. También asegúrate de que el prefijo de las tablas (_DB_PREFIX_) coincida con el de la base de datos importada.

P: El error dice "Too many connections". ¿Qué hago?

R: Esto significa que tu base de datos ha alcanzado el límite de conexiones simultáneas. Puede ser por un pico de tráfico o por un módulo que no cierra bien las conexiones. Prueba a esperar unos minutos y recargar. Si es recurrente, contacta con tu hosting para aumentar el límite o revisa los módulos de tu tienda.

P: He cambiado la contraseña de la base de datos en cPanel y ahora mi tienda da error. ¿Cómo lo soluciono?

R: Es el caso más típico. Simplemente, edita el archivo config/settings.inc.php y actualiza la línea define('_DB_PASSWD_', 'nueva_contraseña'); con la contraseña que acabas de establecer en cPanel. Guarda el archivo y tu tienda volverá a funcionar.

P: Mi hosting usa Syspanel (HestiaCP) en lugar de cPanel. ¿Cómo accedo a los datos de la BD?

R: Si tu hosting es Syspanel (HestiaCP), el acceso es similar. Ingresa a través del puerto 2106 (ejemplo: tudominio.com:2106). Dentro, busca la sección "Base de datos" o "MySQL". Allí encontrarás el nombre de la BD, el usuario y la opción de cambiar la contraseña. El archivo settings.inc.php PrestaShop se edita igual, a través del administrador de archivos de Syspanel.

P: He editado el settings.inc.php y ahora la página se ve en blanco. ¿Qué pasó?

R: Lo más probable es que hayas cometido un error de sintaxis. Por ejemplo, borraste una comilla, un punto y coma (;) o una coma. Accede al archivo de nuevo y verifica que cada línea termine correctamente. Si no estás seguro, restaura una copia de seguridad del archivo.

P: ¿Puedo usar FTP para editar el settings.inc.php?

R: Sí, perfectamente. Conéctate a tu servidor vía FTP, navega hasta la carpeta config, descarga el archivo settings.inc.php, edítalo con un editor de texto plano (como Notepad++ o Sublime Text) y súbelo de nuevo, sobrescribiendo el original. Es una alternativa si no te sientes cómodo con el editor de cPanel.


Conclusión

El error de conexión a base de datos en PrestaShop suele ser un problema de configuración, no un fallo grave de la plataforma. Siguiendo estos pasos, en el 90% de los casos podrás solucionarlo tú mismo sin necesidad de ayuda externa. Recuerda que la clave está en tener los datos correctos en el archivo settings.inc.php PrestaShop y en que el usuario tenga los permisos adecuados en cPanel.

Si después de todo el error persiste, no dudes en contactar con el soporte técnico de tu hosting. Proporciónales la información que has recopilado (datos de la BD, pasos seguidos, etc.) para que puedan ayudarte más rápido.

¡Espero que esta guía te haya sido de gran ayuda! Si tienes alguna otra duda, aquí estoy para asistirte. ¡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