Guía para resolver errores de conexión en PrestaShop con DirectAdmin
Si estás leyendo esto, probablemente te has topado con el temido mensaje de error conexión PrestaShop DirectAdmin en tu tienda online. No te preocupes, es una de las consultas más comunes que recibimos en soporte técnico. Cuando tu tienda PrestaShop deja de funcionar de repente con un error de base de datos o un mensaje de "No se puede conectar al servidor de la base de datos", el corazón se te para. Pero antes de que entres en pánico, debes saber que la mayoría de estos problemas tienen una solución sencilla que puedes aplicar tú mismo.
En esta guía extensa y detallada, te explicaré paso a paso cómo solucionar errores PrestaShop cuando tu tienda está alojada en un servidor con panel DirectAdmin. Cubriremos desde lo más básico (verificar credenciales) hasta soluciones más avanzadas (como revisar los logs de error o modificar archivos de configuración). Todo explicado en un lenguaje claro, sin tecnicismos innecesarios, para que puedas recuperar tu tienda en minutos.
¿Por qué ocurre el error de conexión en PrestaShop con DirectAdmin?
Antes de lanzarnos a las soluciones, es importante entender qué está pasando. El error "No se puede conectar a la base de datos" o "Error de conexión MySQL" suele deberse a una de estas tres causas principales:
- Credenciales incorrectas en el archivo de configuración de PrestaShop.
- El servidor de base de datos (MySQL/MariaDB) está caído o sobrecargado en tu hosting.
- Problemas de permisos o firewall que bloquean la conexión entre PrestaShop y la base de datos.
DirectAdmin es un panel de control muy potente y fiable, pero a veces, tras una actualización de PrestaShop, un cambio de contraseña o incluso un movimiento de archivos, la configuración se desajusta. Vamos a resolverlo.
Paso 1: Verifica que tu base de datos y usuario existen en DirectAdmin
Lo primero es asegurarte de que la base de datos a la que PrestaShop intenta conectarse sigue existiendo y tiene un usuario asignado.
- Accede a tu panel de DirectAdmin. Normalmente la URL es algo como
https://tudominio.com:2222. - Una vez dentro, busca la sección "Administrador de bases de datos MySQL" o "MySQL Management".
- Verás una lista de todas las bases de datos de tu cuenta.
- Localiza la base de datos que usa tu PrestaShop. Si no la ves, puede que la hayas borrado sin querer o que el hosting la haya migrado.
[WARNING] Si no encuentras la base de datos, contacta con tu proveedor de hosting. No intentes crearla de nuevo sin antes hacer una copia de seguridad, porque perderías todos tus productos, pedidos y clientes.
3.1 Revisa el usuario asignado
Dentro del mismo administrador, verás que cada base de datos tiene uno o varios usuarios asociados. Anota el nombre del usuario y la contraseña (si no la recuerdas, puedes cambiarla desde ahí mismo).
[TIP] Si cambias la contraseña en DirectAdmin, recuerda que luego tendrás que actualizarla también en el archivo de configuración de PrestaShop (lo veremos en el siguiente paso).
Paso 2: Localiza y revisa el archivo app/config/parameters.php
PrestaShop guarda toda la configuración de conexión a la base de datos en un archivo llamado parameters.php. Este archivo se encuentra dentro de la carpeta app/config de tu instalación de PrestaShop.
Cómo acceder al archivo
-
Conéctate a tu servidor mediante FTP (FileZilla, por ejemplo) o usa el Administrador de archivos de DirectAdmin.
- En DirectAdmin, busca la opción "Administrador de archivos" o "File Manager".
- Navega hasta la carpeta donde tienes instalado PrestaShop (normalmente
public_htmlo una subcarpeta comotienda). - Dentro, abre la carpeta
app, luegoconfig.
-
Busca el archivo
parameters.php. Haz clic derecho y selecciona "Editar" (o descárgalo, edítalo con un editor de texto plano como Notepad++ y súbelo de nuevo).
Qué debes revisar
El archivo tiene un aspecto similar a este (no te asustes con el código, solo nos interesan unas líneas concretas):
'database_host' => 'localhost',
'database_port' => '',
'database_name' => 'tu_base_de_datos',
'database_user' => 'tu_usuario_mysql',
'database_password' => 'tu_contraseña',
'database_prefix' => 'ps_',
Los valores clave son:
- database_host: Normalmente es
localhost. Si tu hosting usa un servidor de base de datos remoto, puede ser una IP o un nombre comomysql.tudominio.com. - database_name: Debe coincidir exactamente con el nombre que viste en DirectAdmin.
- database_user: El usuario que tiene permisos sobre esa base de datos.
- database_password: La contraseña de ese usuario.
[INFO] Si acabas de cambiar la contraseña en DirectAdmin, este es el lugar donde debes actualizarla. Guarda el archivo y súbelo de nuevo si lo descargaste.
Si el archivo no existe o está vacío
Si no encuentras parameters.php, es posible que PrestaShop no esté instalado correctamente o que se haya borrado. En ese caso, tendrás que reinstalar PrestaShop desde cero (pierdes los datos). Si tienes una copia de seguridad, restaura el archivo desde ella.
Paso 3: Comprueba que el servicio MySQL/MariaDB está funcionando
A veces el problema no está en la configuración de PrestaShop, sino en que el servidor de bases de datos se ha detenido. DirectAdmin tiene herramientas para verificar esto.
- En DirectAdmin, busca la sección "Servicios del sistema" o "System Services".
- Busca el servicio llamado "mysqld" o "MariaDB".
- Verifica que su estado sea "Running" (en ejecución). Si está detenido, haz clic en "Start" o "Reiniciar".
[WARNING] Si no tienes acceso a la sección de servicios, es posible que tu plan de hosting no incluya permisos de administrador del servidor. En ese caso, contacta con tu proveedor y pídele que verifique el estado de MySQL.
3.1 Prueba la conexión desde la línea de comandos (SSH)
Si tu hosting te permite acceso SSH, puedes hacer una prueba directa para descartar problemas de red:
mysql -u tu_usuario -p -h localhost
Te pedirá la contraseña. Si el comando falla con "Access denied", la contraseña es incorrecta. Si falla con "Can't connect to MySQL server", el servicio no está funcionando.
Paso 4: Revisa los logs de error de PrestaShop y del servidor
Los logs son tus mejores aliados para solucionar errores PrestaShop. Te dirán exactamente qué está fallando.
4.1 Logs de PrestaShop
PrestaShop guarda los errores en un archivo llamado var/logs/prod.log (o dev.log si tienes el modo desarrollo activado).
- Ve a la carpeta
var/logsdentro de tu instalación de PrestaShop. - Abre el archivo
prod.logy busca la palabra "error" o "exception". - Verás líneas como:
El mensaje "Connection refused" indica que el servidor de base de datos no acepta conexiones.[2025-03-15 10:00:00] request.CRITICAL: Uncaught PHP Exception ... "SQLSTATE[HY000] [2002] Connection refused"
4.2 Logs del servidor (DirectAdmin)
En DirectAdmin, puedes acceder a los logs del servidor web (Apache/Nginx) y de MySQL:
- Error log de Apache: Busca en la sección "Log viewer" o "Apache error log".
- Log de MySQL: Normalmente se encuentra en
/var/log/mysql/error.log(necesitas acceso SSH para verlo).
Si ves errores como "Too many connections" o "Out of memory", el problema es de recursos del servidor. Contacta con tu hosting para que aumenten los límites.
Paso 5: Aumenta los límites de conexión (si el error es por saturación)
A veces, cuando tu tienda recibe mucho tráfico, el servidor MySQL se satura y rechaza nuevas conexiones. Puedes solucionarlo temporalmente aumentando el número máximo de conexiones.
Cómo hacerlo en DirectAdmin
- Accede a "Administrador de MySQL".
- Busca la opción "Configuración personalizada" o "Custom MySQL configuration".
- Añade o modifica la línea:
(El valor por defecto suele ser 150, pero 500 es seguro para la mayoría de los servidores).max_connections = 500 - Guarda los cambios y reinicia MySQL desde la sección de servicios.
[TIP] Si no encuentras esta opción en DirectAdmin, solicita a tu hosting que lo haga por ti. Es un cambio rápido.
Paso 6: Verifica que el firewall no bloquea la conexión
Aunque es raro en entornos compartidos, a veces el firewall del servidor bloquea el puerto de MySQL (puerto 3306). Si tu base de datos está en un servidor remoto (no en localhost), asegúrate de que el puerto esté abierto.
- Desde DirectAdmin, ve a "Firewall" o "ConfigServer Security & Firewall" (CSF).
- Busca la regla para el puerto 3306 y asegúrate de que permite conexiones desde tu IP o desde el servidor web.
Si tu hosting usa Syspanel (HestiaCP) en lugar de DirectAdmin, recuerda que el puerto de acceso al panel es el 2106. Allí también puedes gestionar el firewall de forma similar.
Paso 7: Soluciones rápidas cuando todo lo demás falla
Si después de todos los pasos anteriores el error persiste, prueba estas soluciones de emergencia:
7.1 Reinicia el servicio de MySQL desde DirectAdmin
A veces un simple reinicio limpia conexiones atascadas:
- Ve a "Servicios del sistema".
- Busca "mysqld" y haz clic en "Reiniciar".
7.2 Cambia el host de la base de datos a la IP del servidor
En el archivo parameters.php, cambia 'database_host' => 'localhost' por la IP de tu servidor (por ejemplo, 127.0.0.1 o la IP pública que te haya dado tu hosting). Esto fuerza una conexión TCP en lugar de un socket Unix, lo que a veces resuelve problemas de permisos.
7.3 Desactiva temporalmente el modo de seguridad de PrestaShop
Si el error aparece justo después de una actualización, puedes desactivar el modo de seguridad editando el archivo config/defines.inc.php y cambiando:
define('_PS_MODE_DEV_', false);
a
define('_PS_MODE_DEV_', true);
Esto mostrará los errores detallados en pantalla (no lo dejes activo en producción por seguridad).
Preguntas frecuentes (FAQ)
¿Qué hago si el error dice "Table 'ps_xxx' doesn't exist"?
Esto significa que la estructura de la base de datos está dañada o falta una tabla. Puedes repararla desde DirectAdmin:
- Ve a "Administrador de MySQL".
- Selecciona tu base de datos.
- Haz clic en "Reparar" o "Repair".
Si no funciona, restaura una copia de seguridad de la base de datos.
¿Puedo usar un plugin para solucionar el error de conexión?
No te recomiendo plugins de terceros para esto, ya que el problema suele ser de configuración del servidor. Es mejor seguir los pasos manuales de esta guía.
¿Por qué aparece el error después de migrar mi tienda a otro hosting?
Al migrar, las credenciales de la base de datos cambian. Asegúrate de actualizar el archivo parameters.php con los nuevos datos. También verifica que la base de datos haya sido importada correctamente.
¿Qué hago si no tengo acceso a DirectAdmin?
Si tu hosting usa otro panel (como Syspanel/HestiaCP), los pasos son similares pero la interfaz cambia. Por ejemplo, en Syspanel (puerto 2106) encontrarás las opciones de bases de datos en la sección "Bases de datos". Si no puedes acceder a nada, contacta con tu proveedor de hosting.
Resumen final
Recuerda que el error conexión PrestaShop DirectAdmin se resuelve siguiendo un orden lógico:
- Verifica que la base de datos y el usuario existen.
- Revisa y corrige el archivo
parameters.php. - Asegúrate de que MySQL está funcionando.
- Lee los logs para obtener pistas.
- Ajusta límites de conexión si es necesario.
- Comprueba el firewall.
Con esta guía, deberías poder recuperar tu tienda en menos de 30 minutos. Si después de todo el error persiste, no dudes en abrir un ticket de soporte con tu hosting, adjuntando los logs de error que hayas encontrado. Ellos podrán revisar la configuración del servidor a nivel más profundo.
[INFO] Si tu hosting utiliza Syspanel (HestiaCP), recuerda que el puerto de acceso es el 2106. La gestión de bases de datos y archivos es muy similar a DirectAdmin, así que los pasos de esta guía te servirán igualmente.
¡Espero que tu tienda vuelva a estar online pronto!
