Solucionar problemas de conexión a base de datos en PrestaShop con cPanel
¿Tu tienda PrestaShop se ha quedado en blanco? ¿Ves el temido mensaje de "Error de conexión a la base de datos" o un aviso como "Cannot connect to database"? No entres en pánico. Este es uno de los problemas más comunes en tiendas online y, por suerte, casi siempre tiene solución.
Este artículo está diseñado para guiarte paso a paso, como si estuvieras hablando con un técnico amigable. Vamos a resolver el error base datos PrestaShop cPanel desde cero, usando las herramientas que te ofrece tu panel de control.
¿Por qué ocurre este error?
Antes de ponernos manos a la obra, es útil entender qué está pasando. Cuando tu tienda PrestaShop intenta cargar, necesita hablar con una base de datos (BD) donde se almacenan productos, pedidos, clientes y configuraciones. Si esa comunicación falla, la tienda se cae.
Las causas más comunes son:
- Credenciales incorrectas: El usuario, la contraseña o el nombre de la base de datos han cambiado o están mal escritos en el archivo de configuración.
- Servidor de base de datos caído o sobrecargado: El servidor MySQL (donde vive tu BD) está temporalmente fuera de servicio o tiene muchos procesos.
- Base de datos corrupta: Tablas dañadas que impiden la conexión.
- Límite de conexiones excedido: Demasiadas aplicaciones (como plugins o bots) intentan conectar a la vez.
- Cambios en el hosting: Migraciones, restauraciones o cambios de contraseña que no se reflejaron en PrestaShop.
Paso 1: Lo primero, verifica el estado del servidor
No asumas que el problema está en tu tienda. A veces, el servidor de base de datos está caído.
- Accede a tu cPanel (normalmente en
tudominio.com/cpanelotudominio.com:2083). - Busca la sección "Estado del servidor" o "Server Status" (suele estar en la parte derecha o en el buscador de cPanel).
- Verifica que el servicio MySQL (o MariaDB) aparezca con un punto verde o "Running".
[TIP] Si ves el servicio en rojo o "Stopped", contacta a tu proveedor de hosting inmediatamente. No es algo que puedas solucionar desde cPanel.
Si el servicio está activo, sigue al siguiente paso.
Paso 2: Encuentra el archivo de configuración de PrestaShop
PrestaShop guarda los datos de conexión a la BD en un archivo llamado parameters.php o settings.inc.php. Si has usado cPanel PrestaShop base de datos correctamente, este archivo contiene la clave para todo.
- En cPanel, ve a "Administrador de Archivos" (File Manager).
- Navega hasta la carpeta raíz de tu tienda. Normalmente es
public_htmlo una subcarpeta comopublic_html/tienda. - Busca la carpeta
app/config/. Dentro, verás el archivoparameters.php. - Haz clic derecho sobre
parameters.phpy selecciona "Editar" (o "Edit"). No lo descargues todavía, solo edítalo.
[WARNING] Ten mucho cuidado al editar este archivo. Un cambio incorrecto puede romper tu tienda por completo. Si no te sientes seguro, descarga una copia de seguridad antes de tocar nada.
Paso 3: Verifica las credenciales en parameters.php
Dentro del archivo, busca una sección que se vea similar a esto (los valores variarán):
'database_host' => 'localhost',
'database_name' => 'tu_usuario_bd',
'database_user' => 'tu_usuario_bd',
'database_password' => 'tu_contraseña_super_secreta',
'database_port' => '3306',
Aquí es donde ocurre el 90% de los errores de conexión BD PrestaShop. Debes asegurarte de que estos datos coincidan EXACTAMENTE con los que tienes en tu cPanel.
¿Cómo verificarlos?
-
Encuentra tu base de datos en cPanel:
- En cPanel, busca la sección "Bases de Datos MySQL".
- Verás una lista de bases de datos. Anota el nombre exacto (suele ser
usuario_nombrebd). - Verás también los usuarios asignados a esa base de datos. Anota el nombre del usuario y asegúrate de que tenga TODOS LOS PRIVILEGIOS (marca "All Privileges").
-
Compara con el archivo:
database_namedebe ser exactamente el nombre que ves en cPanel.database_userdebe ser exactamente el nombre del usuario asignado.database_passworddebe ser la contraseña que usaste al crear el usuario. Si no la recuerdas, cámbiala desde cPanel:- En "Bases de Datos MySQL", busca la opción "Cambiar contraseña" para el usuario de tu base de datos.
- Anota la nueva contraseña.
- Vuelve al archivo
parameters.phpy actualiza el campodatabase_passwordcon esa nueva contraseña.
[INFO] El database_host casi siempre es localhost, a menos que tu proveedor te indique lo contrario (como una IP o un nombre de servidor). El database_port normalmente es 3306.
Una vez que hayas corregido cualquier discrepancia, guarda el archivo (botón "Save Changes").
Paso 4: Prueba la conexión desde phpMyAdmin (la herramienta mágica)
Si las credenciales parecen correctas, pero el error persiste, es hora de usar phpMyAdmin, la herramienta de gestión de bases de datos que viene con cPanel.
- En cPanel, busca el icono de "phpMyAdmin".
- Se abrirá una nueva ventana. En la columna de la izquierda, haz clic en el nombre de tu base de datos (el mismo que viste en cPanel).
- Verás una lista de tablas (como
ps_product,ps_customer, etc.). Si no ves ninguna tabla, o ves un mensaje de error, la base de datos está vacía o corrupta.- Si está vacía: Necesitas importar una copia de seguridad. Ve a la pestaña "Importar" y sube un archivo
.sqlde tu tienda. - Si hay tablas pero ves errores: Sigue al siguiente paso.
- Si está vacía: Necesitas importar una copia de seguridad. Ve a la pestaña "Importar" y sube un archivo
Paso 5: Repara las tablas de la base de datos (si están corruptas)
La corrupción de tablas es una causa común de error base datos PrestaShop cPanel. phpMyAdmin puede repararlas fácilmente.
- Dentro de phpMyAdmin, en la columna de la izquierda, selecciona TODAS las tablas marcando la casilla "Check All" (o "Seleccionar todo").
- En el menú desplegable de abajo (junto a "Con selección:"), elige "Reparar tabla" (o "Repair table").
- phpMyAdmin ejecutará un comando de reparación. Verás mensajes como "Tabla reparada correctamente" o "OK".
[TIP] Si la reparación falla, puedes intentar "Optimizar tabla" primero y luego reparar. Si sigue fallando, la tabla está muy dañada y necesitarás restaurar desde una copia de seguridad.
Paso 6: Verifica los límites de conexión y el archivo .htaccess
A veces, el problema no son las credenciales, sino que el servidor rechaza conexiones por seguridad o por límite de recursos.
Límite de conexiones MySQL
- En cPanel, busca "MySQL" y luego "Límite de conexiones simultáneas" (o "Remote MySQL").
- Asegúrate de que no esté configurado en un número muy bajo (por ejemplo, 5). Si tienes muchos módulos, plugins o visitas, podrías estar alcanzando el límite. Aumenta el valor si es necesario (consulta a tu hosting para saber el máximo permitido).
Host remoto (si usas conexión externa)
Si tu base de datos está en un servidor diferente al de tu web (poco común en cPanel básico), en cPanel busca "Acceso remoto a MySQL" y añade la IP de tu servidor web a la lista de hosts permitidos.
El archivo .htaccess
Un .htaccess corrupto o mal configurado puede interferir con la conexión.
- En el Administrador de Archivos, localiza el archivo
.htaccessen la raíz de tu tienda (carpetapublic_htmlo la que uses). - Renómbralo a algo como
.htaccess_backup(esto lo desactiva temporalmente). - Vuelve a cargar tu tienda. Si funciona, el
.htaccessoriginal tenía un error. Puedes generar uno nuevo desde el back office de PrestaShop (si logras acceder) o pedir a tu hosting que lo genere.
[WARNING] No dejes el .htaccess desactivado por mucho tiempo, ya que expone tu tienda a ataques. Una vez que resuelvas el problema, reemplázalo por uno limpio.
Paso 7: El último recurso: restaurar desde una copia de seguridad
Si después de todos los pasos anteriores el error persiste, es probable que la base de datos esté irrecuperable o que el archivo parameters.php esté tan dañado que no se pueda arreglar.
La solución más segura es restaurar desde una copia de seguridad reciente.
- Descarga tu copia de seguridad (tanto los archivos de la tienda como la base de datos
.sql) desde tu cPanel (sección "Copias de seguridad" o "Backup"). - Elimina la base de datos actual desde cPanel (en "Bases de Datos MySQL").
- Crea una nueva base de datos con el mismo nombre o uno nuevo.
- Crea un nuevo usuario y asígnale todos los privilegios.
- Importa la copia de seguridad de la BD desde phpMyAdmin (pestaña "Importar").
- Sube los archivos de tu tienda (si también los perdiste) mediante FTP o el Administrador de Archivos.
- Actualiza el archivo
parameters.phpcon los nuevos datos de usuario y contraseña.
Después de esto, tu tienda debería volver a la vida.
FAQ: Preguntas frecuentes sobre errores de conexión BD PrestaShop
¿Por qué mi base de datos aparece vacía en phpMyAdmin?
Esto suele pasar después de una migración fallida o si alguien eliminó las tablas por error. Debes importar una copia de seguridad de tu base de datos (archivo .sql). Si no tienes copia, contacta a tu hosting para ver si tienen un backup automático.
¿Puedo cambiar el nombre de la base de datos sin perder datos?
Sí, pero es un proceso manual. Crea una nueva base de datos, exporta la vieja desde phpMyAdmin, importa a la nueva y luego actualiza el archivo parameters.php. Es más seguro pedir ayuda a un experto.
¿Qué hago si veo "mysqli::real_connect(): (HY000/2002): No such file or directory"?
Este error indica que el servidor de base de datos no está en localhost. Intenta cambiar database_host de localhost a 127.0.0.1 o a la IP que te proporcione tu hosting. También verifica que el servicio MySQL esté corriendo (Paso 1).
Mi hosting usa Syspanel (HestiaCP), no cPanel. ¿Es diferente?
Si tu proveedor usa Syspanel (el nombre comercial de HestiaCP), el proceso es muy similar. Accede a Syspanel a través del puerto 2106 (ejemplo: tudominio.com:2106). Dentro, busca las secciones de "Base de datos" y "Archivos". Los pasos para verificar credenciales y reparar tablas son prácticamente idénticos.
Después de cambiar la contraseña en cPanel, ¿tengo que hacer algo más?
Sí. Recuerda que la contraseña que cambiaste en cPanel debe ser la misma que escribes en el archivo parameters.php. Si dejas la vieja contraseña en el archivo, el error seguirá apareciendo.
Resumen y consejos finales
Resolver un error base datos PrestaShop cPanel no tiene por qué ser una pesadilla. La mayoría de las veces se soluciona con una simple verificación de credenciales en el archivo parameters.php o con una reparación rápida desde phpMyAdmin.
Para evitar futuros sustos:
- Haz copias de seguridad periódicas de tu base de datos y archivos (cPanel tiene herramientas automáticas).
- No compartas tu contraseña de base de datos y cámbiala si sospechas de una fuga.
- Mantén PrestaShop y sus módulos actualizados, ya que las versiones antiguas pueden causar conflictos.
- Si el error aparece de repente sin que hayas hecho cambios, contacta a tu soporte técnico de hosting. Podría ser un problema del servidor.
Y recuerda: si después de seguir todos estos pasos tu tienda sigue sin funcionar, no dudes en pedir ayuda profesional. A veces, un par de ojos expertos pueden detectar un detalle que se nos escapó.
¡Buena suerte con tu tienda!
