PrestaShop no se conecta a la base de datos en Syspanel
¡Hola! Soy el técnico de soporte amigable que te va a ayudar hoy. Si estás viendo un mensaje de error como "No se puede conectar a la base de datos" o "Error de base de datos" en tu tienda PrestaShop, no te preocupes. Es uno de los problemas más comunes, pero también de los más fáciles de solucionar si sigues los pasos correctos.
En este artículo extenso y muy visual, vamos a desglosar todo lo que necesitas saber sobre la conexión base datos PrestaShop en Syspanel (antes conocido como HestiaCP, recuerda que el puerto de acceso es el 2106). Veremos las causas más frecuentes, cómo diagnosticar el problema y, lo más importante, cómo solucionarlo paso a paso.
¿Por qué mi PrestaShop no se conecta a la base de datos?
Cuando tu tienda PrestaShop no puede conectar con la base de datos, normalmente el navegador te muestra una pantalla en blanco o un mensaje de error muy claro: "Error de conexión a la base de datos" o "No se puede conectar a la base de datos". Esto puede deberse a varias razones, pero las más comunes son:
- Credenciales incorrectas: El usuario, la contraseña o el nombre de la base de datos no coinciden con los que tienes configurados en PrestaShop.
- Base de datos no creada o eliminada: A veces, al mover un sitio o hacer una copia de seguridad, la base de datos no se ha creado correctamente.
- Servidor de base de datos caído: Aunque es raro, el servicio MySQL/MariaDB puede estar detenido en el servidor.
- Archivo de configuración dañado: El archivo
app/config/parameters.phpde PrestaShop puede tener datos incorrectos o estar corrupto. - Problemas de permisos: El usuario de la base de datos no tiene permisos para acceder desde el servidor donde está alojado PrestaShop.
Vamos a solucionarlo juntos.
Requisitos previos: Acceso a Syspanel y FTP
Antes de empezar, asegúrate de tener a mano:
- Acceso a Syspanel: Ve a
https://tudominio.com:2106e inicia sesión con tu usuario y contraseña principal (el que usas para gestionar tu hosting). - Acceso FTP o al gestor de archivos de Syspanel: Necesitarás poder editar archivos de tu sitio. En Syspanel, puedes usar el gestor de archivos integrado (normalmente en la sección "Archivos" o "Gestor de archivos") o un cliente FTP como FileZilla.
- Tus credenciales de base de datos: Las que configuraste al instalar PrestaShop o las que te proporcionó tu hosting. Si no las recuerdas, no te preocupes, las encontraremos.
Diagnóstico paso a paso
Vamos a hacer un pequeño diagnóstico para identificar exactamente dónde está el problema.
Paso 1: Verificar que la base de datos existe en Syspanel
Lo primero es asegurarnos de que la base de datos que PrestaShop está intentando usar realmente exista.
- Inicia sesión en Syspanel (puerto 2106).
- Busca la sección "Base de datos" o "MySQL" en el menú lateral. Suele estar en "Avanzado" o "Servicios".
- Verás una lista de todas las bases de datos de tu cuenta. Busca el nombre de la base de datos que usa tu PrestaShop. ¿Aparece? Si no aparece, tendrás que crearla de nuevo (más adelante te explico cómo).
[TIP] El nombre de la base de datos suele tener un prefijo con tu nombre de usuario de Syspanel, por ejemplo: usuario_tienda.
Paso 2: Comprobar el usuario y los permisos
Junto a la base de datos, verás los usuarios asociados. Cada base de datos debe tener al menos un usuario con permisos completos.
- Haz clic en el nombre de la base de datos para ver sus detalles.
- Verifica que el usuario que aparece tenga marcada la opción "Todos los privilegios" o al menos los básicos (SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, etc.).
- Si no hay ningún usuario, o el usuario no tiene permisos, tendrás que añadirlo o modificar los permisos. En Syspanel, normalmente hay un botón "Añadir usuario" o "Gestionar privilegios".
Paso 3: Revisar el archivo de configuración de PrestaShop
Ahora vamos a ver qué credenciales tiene configuradas tu PrestaShop. El archivo clave es app/config/parameters.php.
- Conéctate a tu sitio por FTP o usa el gestor de archivos de Syspanel.
- Navega hasta la carpeta raíz de tu tienda (normalmente
public_htmlowww). - Abre la carpeta
appy luegoconfig. - Busca el archivo
parameters.php. ¡Cuidado! No lo confundas conparameters.yml. Haz clic derecho y selecciona "Editar" o "Ver/Editar".
Verás algo similar a esto (los valores reales serán diferentes):
<?php
return [
'parameters' => [
'database_host' => 'localhost',
'database_port' => '',
'database_name' => 'usuario_mitienda',
'database_user' => 'usuario_miusuario',
'database_password' => 'micontraseñasegura',
'database_prefix' => 'ps_',
// ... otros parámetros
],
];
Anota estos cuatro valores: database_host, database_name, database_user y database_password. Son los que PrestaShop está usando para intentar conectar.
[WARNING] Si el archivo parameters.php está vacío o no existe, es probable que tu instalación esté corrupta. En ese caso, lo mejor es restaurar una copia de seguridad o reinstalar PrestaShop (cuidando de no borrar los datos de la base de datos si aún existen).
Paso 4: Probar la conexión manualmente desde Syspanel
Una forma muy útil de saber si las credenciales son correctas es probar la conexión directamente desde Syspanel.
- En Syspanel, ve a la sección "Base de datos" y busca la opción "phpMyAdmin" o "Administrador de bases de datos". Haz clic.
- Se abrirá phpMyAdmin en una nueva pestaña. En la pantalla de inicio de sesión, introduce:
- Servidor:
localhost(o el que tengas enparameters.php). - Usuario: El que anotaste del archivo
parameters.php. - Contraseña: La que anotaste.
- Haz clic en "Continuar" o "Iniciar sesión".
- Servidor:
Si la conexión es exitosa, verás el panel de phpMyAdmin con la lista de bases de datos. ¡Genial! El problema no son las credenciales.
Si la conexión falla, te mostrará un mensaje de error. Anota ese error, nos ayudará.
Soluciones para el error "PrestaShop no se conecta a la base de datos en Syspanel"
Dependiendo de lo que hayas encontrado en el diagnóstico, aplica la solución correspondiente.
Solución 1: Corregir las credenciales en el archivo parameters.php
Si en phpMyAdmin la conexión falló, significa que las credenciales que tienes en parameters.php son incorrectas.
- Vuelve a Syspanel y ve a la sección "Base de datos".
- Crea un nuevo usuario o restablece la contraseña del usuario existente.
- Para restablecer la contraseña: haz clic en el usuario y busca la opción "Cambiar contraseña". Elige una segura y anótala.
- Ahora, edita el archivo
app/config/parameters.php(como en el Paso 3) y actualiza los valores dedatabase_userydatabase_passwordcon los correctos. - Guarda el archivo.
[INFO] Asegúrate de que el database_host sea localhost a menos que tu hosting te haya indicado un servidor remoto específico.
Solución 2: Recrear la base de datos y el usuario
Si la base de datos no existía en Syspanel o estaba corrupta, lo mejor es crearla de nuevo.
- En Syspanel, en la sección "Base de datos", haz clic en "Añadir base de datos".
- Dale un nombre (por ejemplo,
mitienda_nueva). - Marca la opción "Crear también un usuario" o similar. Introduce un nombre de usuario y una contraseña segura.
- Anota el nombre de la base de datos, el usuario y la contraseña.
- Ahora, actualiza el archivo
app/config/parameters.phpcon estos nuevos datos. - Importante: Si ya tenías productos, clientes o pedidos en tu tienda, tendrás que importar los datos desde una copia de seguridad anterior. Si no tienes copia, esta solución hará que empieces de cero.
Solución 3: Verificar que el servicio MySQL esté activo (menos común)
A veces, el servicio de base de datos se detiene. En Syspanel, normalmente no tienes acceso directo a reiniciar servicios, pero puedes contactar con el soporte de tu hosting para que lo verifiquen.
[WARNING] No intentes reiniciar servicios desde la terminal a menos que sepas exactamente lo que estás haciendo. Podrías afectar a otros sitios en el mismo servidor.
Solución 4: Restaurar desde una copia de seguridad
Si después de todo sigue sin funcionar, o si el archivo parameters.php está corrupto, la solución más segura es restaurar tu tienda desde una copia de seguridad reciente.
- En Syspanel, busca la sección "Backup" o "Copias de seguridad".
- Elige una copia de seguridad de tu sitio web (archivos y base de datos).
- Restaura primero la base de datos (normalmente hay una opción "Restaurar base de datos").
- Luego, restaura los archivos.
- Una vez restaurado, verifica que el archivo
app/config/parameters.phptenga las credenciales correctas de la base de datos restaurada.
Preguntas Frecuentes (FAQ)
P: ¿Qué hago si veo el error "mysqli::real_connect(): (HY000/1045): Access denied for user"?
R: Esto significa que el usuario o la contraseña son incorrectos. Sigue la Solución 1 para restablecer la contraseña en Syspanel y actualizarla en parameters.php.
P: ¿Y si el error es "mysqli::real_connect(): (HY000/2002): No such file or directory"?
R: Generalmente, esto indica que el database_host no es localhost. A veces, en servidores compartidos, el host puede ser algo como localhost:/tmp/mysql.sock. Prueba cambiando el host a localhost o contacta a tu proveedor de hosting para que te dé el host correcto.
P: He cambiado la contraseña en Syspanel, pero PrestaShop sigue sin conectar. ¿Qué hago?
R: Asegúrate de haber guardado los cambios en el archivo parameters.php y de que no haya errores de sintaxis (por ejemplo, una coma o una comilla mal puesta). También, a veces el caché de PrestaShop guarda la configuración antigua. Borra la carpeta var/cache (excepto el archivo .htaccess si existe) a través de FTP.
P: ¿Puedo cambiar el prefijo de las tablas de la base de datos?
R: Sí, pero no es recomendable a menos que sepas lo que haces. El prefijo se define en parameters.php como database_prefix. Si lo cambias, PrestaShop no encontrará sus tablas y dejará de funcionar.
P: ¿Es normal que el puerto de Syspanel sea el 2106?
R: Sí, exacto. Syspanel (antes HestiaCP) utiliza el puerto 2106 para su panel de control. Recuerda siempre acceder a través de https://tudominio.com:2106.
Resumen y consejos finales
El error de conexión base datos PrestaShop en Syspanel suele resolverse en pocos minutos si sigues el orden lógico:
- Verifica que la base de datos y el usuario existan en Syspanel.
- Comprueba que las credenciales en
app/config/parameters.phpsean exactamente las mismas. - Prueba la conexión manualmente con phpMyAdmin.
- Si todo falla, restaura una copia de seguridad.
[TIP] Para evitar este problema en el futuro, te recomiendo:
- Guardar siempre las credenciales de la base de datos en un lugar seguro (como un gestor de contraseñas).
- Hacer copias de seguridad periódicas de tu tienda (archivos y base de datos) desde Syspanel.
- No modificar el archivo
parameters.phpa menos que sepas lo que estás haciendo.
Espero que este artículo te haya sido de gran ayuda. Si aún tienes dudas, no dudes en contactar con nuestro equipo de soporte. ¡Estamos aquí para ayudarte a que tu tienda vuelva a funcionar!
