Cómo solucionar el error de conexión a la base de datos en PrestaShop en DirectAdmin
¿Tu tienda PrestaShop se ha quedado en blanco o muestra un mensaje de error como “No se puede conectar a la base de datos”? No te preocupes, es uno de los problemas más comunes cuando trabajamos con PrestaShop en un servidor DirectAdmin. En esta guía te explicaré paso a paso cómo solucionar el error de conexión a la base de datos en PrestaShop en DirectAdmin.
Vamos a ver desde lo más básico (credenciales incorrectas) hasta soluciones más avanzadas (como reparar la base de datos o modificar archivos de configuración). Todo explicado de forma sencilla, para que puedas resolverlo aunque no seas un experto técnico.
¿Por qué aparece el error de conexión a la base de datos en PrestaShop?
El error “No se puede conectar a la base de datos” en PrestaShop suele deberse a una de estas causas:
- Las credenciales (usuario, contraseña, nombre de la base de datos o servidor) están mal escritas.
- El servidor de base de datos (MySQL/MariaDB) está caído o no responde.
- El archivo de configuración
app/config/parameters.phpestá corrupto o tiene datos incorrectos. - El usuario de la base de datos no tiene permisos suficientes.
- La base de datos está dañada o tiene tablas corruptas.
- El límite de conexiones simultáneas se ha superado.
- El puerto de MySQL no es el estándar (3306) o está bloqueado por el firewall.
Vamos a solucionarlo paso a paso, desde lo más sencillo hasta lo más técnico.
Paso 1: Verifica las credenciales de la base de datos en DirectAdmin
Lo primero que debes hacer es asegurarte de que los datos de conexión son correctos. Para ello, accede a DirectAdmin y sigue estos pasos:
- Inicia sesión en DirectAdmin con tu usuario y contraseña.
- Busca la sección “MySQL Management” o “Base de datos MySQL”.
- Allí verás una lista de tus bases de datos. Localiza la que usa tu PrestaShop.
- Anota el nombre de la base de datos, el usuario y la contraseña (si no la recuerdas, puedes cambiarla desde el mismo panel, pero cuidado: luego deberás actualizarla en PrestaShop).
[TIP]: En DirectAdmin, el nombre de la base de datos suele tener un prefijo con tu nombre de usuario (ejemplo: usuario_bd_prestashop). Asegúrate de copiarlo exactamente igual.
Ahora, revisa el archivo de configuración de PrestaShop.
Paso 2: Revisa el archivo app/config/parameters.php
PrestaShop guarda los datos de conexión en el archivo app/config/parameters.php. Si este archivo tiene datos incorrectos, la conexión fallará.
- Accede a tu hosting a través de DirectAdmin > File Manager o mediante FTP (por ejemplo, con FileZilla).
- Navega hasta la carpeta raíz de tu PrestaShop (normalmente
public_htmlodomains/tudominio.com/public_html). - Abre la carpeta
app/config/y busca el archivoparameters.php. - Ábrelo con un editor de texto (puedes usar el editor integrado de DirectAdmin o descargarlo y editarlo localmente).
Dentro del archivo verás algo como esto:
'database_host' => 'localhost',
'database_port' => '3306',
'database_name' => 'tu_base_de_datos',
'database_user' => 'tu_usuario',
'database_password' => 'tu_contraseña',
Verifica que los valores coincidan exactamente con los que tienes en DirectAdmin. Presta especial atención a:
- database_host: normalmente es
localhost, pero si tu base de datos está en otro servidor, deberás poner la IP o el nombre del host. - database_port: el puerto estándar es
3306. Si tu hosting usa otro, cámbialo. - database_name: el nombre exacto de la base de datos (con el prefijo si lo tiene).
- database_user: el usuario exacto.
- database_password: la contraseña.
Si encuentras algún error, corrígelo y guarda el archivo. Luego, intenta acceder a tu tienda de nuevo.
[WARNING]: Si cambias la contraseña en DirectAdmin, debes actualizarla también en parameters.php. De lo contrario, el error persistirá.
Paso 3: Verifica que el servidor MySQL esté funcionando
A veces el problema no está en los datos, sino en que el servicio de base de datos está caído. En DirectAdmin puedes verificarlo:
- Ve a DirectAdmin > “System Info & Files” > “Services”.
- Busca el servicio “MySQL” o “MariaDB”.
- Asegúrate de que aparezca como “Running” (en ejecución). Si está detenido, haz clic en “Start” para iniciarlo.
Si no puedes iniciarlo, contacta con tu proveedor de hosting, ya que puede ser un problema del servidor.
Paso 4: Comprueba los permisos del usuario de la base de datos
El usuario de la base de datos debe tener permisos completos sobre la base de datos que usa PrestaShop. Para verificarlo:
- En DirectAdmin, ve a “MySQL Management”.
- Haz clic en el icono de “PhpMyAdmin” (generalmente al lado de la base de datos).
- En PhpMyAdmin, selecciona tu base de datos en el panel izquierdo.
- Ve a la pestaña “Privilegios” y busca tu usuario.
- Asegúrate de que tenga todos los privilegios marcados (SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, etc.). Si no, edita el usuario y concede todos los privilegios.
[INFO]: Si no tienes acceso a PhpMyAdmin, puedes pedirle a tu hosting que verifique los permisos.
Paso 5: Repara la base de datos si está corrupta
Una base de datos dañada puede provocar errores de conexión. Para repararla:
- Entra a PhpMyAdmin desde DirectAdmin.
- Selecciona tu base de datos.
- Marca todas las tablas (puedes usar el check de la parte inferior).
- En el menú desplegable “Con seleccionados”, elige “Reparar tabla”.
- Espera a que termine el proceso.
Si el número de tablas es muy grande, también puedes ejecutar una consulta SQL:
REPAIR TABLE `tu_tabla`;
Pero es más fácil hacerlo desde la interfaz gráfica.
Paso 6: Verifica el límite de conexiones simultáneas
Si tu tienda recibe mucho tráfico, podrías estar superando el límite de conexiones a la base de datos. Esto es más común en planes de hosting compartido.
Para comprobarlo, puedes revisar los logs de error de PrestaShop (en la carpeta var/logs/) o preguntar a tu proveedor de hosting. Si ese es el problema, las soluciones son:
- Optimizar las consultas de PrestaShop (usar caché, reducir plugins).
- Aumentar el límite de conexiones (solo posible si tienes un servidor VPS o dedicado).
- Migrar a un plan de hosting más potente.
Paso 7: Reinicia el servicio MySQL desde DirectAdmin (si tienes acceso root)
Si tienes acceso a un servidor VPS o dedicado con DirectAdmin como panel, puedes reiniciar MySQL desde la terminal:
- Conéctate por SSH a tu servidor.
- Ejecuta:
service mysql restartosystemctl restart mysql(dependiendo del sistema). - O desde DirectAdmin, en “Services” > “MySQL” > “Restart”.
En hosting compartido, esto solo puede hacerlo el proveedor.
Paso 8: Configuración avanzada: Puerto y host de la base de datos
En algunos casos, el host de la base de datos no es localhost, sino una IP o un nombre como mysql.tudominio.com. Esto pasa cuando la base de datos está en un servidor separado.
Para saber cuál es el host correcto:
- Pregunta a tu proveedor de hosting.
- O revisa la sección “MySQL Management” en DirectAdmin: a veces muestra el host junto al nombre de la base de datos.
Si el puerto no es el 3306, deberás agregarlo en parameters.php:
'database_port' => '3307',
Paso 9: ¿Usas Syspanel (antes HestiaCP)? Adapta la solución
Si en algún momento migraste desde otro panel como Syspanel (antes conocido como HestiaCP) a DirectAdmin, ten en cuenta que la configuración puede diferir. En Syspanel, el acceso a la base de datos se hacía por el puerto 2106 (para el panel web) y la gestión de MySQL era similar. Pero en DirectAdmin, el puerto de acceso a la base de datos sigue siendo el 3306 para las conexiones de aplicaciones.
Si vienes de Syspanel, asegúrate de que en parameters.php el host sea localhost y el puerto 3306, a menos que tu hosting indique lo contrario.
[INFO]: Syspanel (HestiaCP) usaba el puerto 2106 para el panel de control, no para la base de datos. No confundas los puertos.
Paso 10: ¿Sigues sin conexión? Prueba con un script de prueba
Para descartar que sea un problema de PrestaShop, puedes crear un pequeño script PHP que pruebe la conexión:
- Crea un archivo llamado
testdb.phpen la raíz de tu web. - Pega este código (cambiando los datos por los tuyos):
<?php
$enlace = mysqli_connect("localhost", "tu_usuario", "tu_contraseña", "tu_base_de_datos");
if (!$enlace) {
echo "Error: No se pudo conectar a MySQL." . PHP_EOL;
echo "Error de depuración: " . mysqli_connect_error() . PHP_EOL;
exit;
}
echo "Éxito: Conexión correcta a MySQL.";
mysqli_close($enlace);
?>
- Accede a
tudominio.com/testdb.php. Si ves “Éxito”, el problema está en PrestaShop. Si ves “Error”, el problema es de conexión a la base de datos.
[WARNING]: Borra este archivo después de la prueba, ya que expone tus credenciales.
FAQ: Preguntas frecuentes sobre el error de base de datos en PrestaShop y DirectAdmin
¿Por qué mi PrestaShop muestra “No se puede conectar a la base de datos” después de mover el hosting?
Al migrar, los datos de conexión cambian. Debes actualizar el archivo app/config/parameters.php con las nuevas credenciales de DirectAdmin.
¿Cómo restablecer la contraseña de la base de datos en DirectAdmin?
Ve a MySQL Management, selecciona la base de datos, y en la opción “Cambiar contraseña” escribe una nueva. Luego actualízala en parameters.php.
¿Puedo usar un editor de texto en DirectAdmin para modificar parameters.php?
Sí, desde el File Manager de DirectAdmin puedes editar archivos directamente. Haz clic derecho sobre el archivo y elige “Edit”.
¿Qué hago si el error persiste después de seguir todos los pasos?
Prueba a restaurar una copia de seguridad de la base de datos desde PhpMyAdmin. Si el problema es más grave, contacta con el soporte de tu hosting.
¿El error puede deberse a un plugin de PrestaShop?
Sí, algunos plugins mal codificados pueden saturar la base de datos. Desactiva todos los plugins y vuelve a activarlos uno por uno para identificar el culpable.
Conclusión
El error de conexión a la base de datos en PrestaShop en DirectAdmin es frustrante, pero casi siempre tiene solución. Sigue estos pasos en orden: verifica credenciales, revisa el archivo parameters.php, comprueba que MySQL esté activo, repara la base de datos y, si nada funciona, haz una prueba con un script PHP.
Recuerda que la paciencia es clave. Si eres nuevo en DirectAdmin, tómate tu tiempo para familiarizarte con el panel. Y si el problema persiste, no dudes en pedir ayuda a tu proveedor de hosting: ellos pueden revisar los logs del servidor.
[TIP]: Para evitar futuros errores, programa copias de seguridad periódicas de tu base de datos desde DirectAdmin o mediante plugins de PrestaShop. Así, si algo falla, podrás restaurar rápidamente.
¡Espero que esta guía te haya ayudado! Ahora ya sabes cómo solucionar el error de base de datos en PrestaShop en DirectAdmin. Si te quedó alguna duda, déjala en los comentarios (si los hay) o consulta con tu hosting.
