Solución de problemas: Error de conexión a base de datos en PrestaShop
¡Hola! Soy tu asistente técnico de confianza. Si estás viendo un mensaje de error que dice algo como "Error de conexión a base de datos" o "No se puede conectar a la base de datos" en tu tienda PrestaShop, no te preocupes. Es uno de los problemas más comunes y, por suerte, casi siempre tiene una solución sencilla.
En esta guía, vamos a desglosar paso a paso cómo diagnosticar y solucionar este error. No necesitas ser un experto en programación, solo seguir las instrucciones con calma. Al final, tendrás tu tienda funcionando de nuevo.
¿Por qué ocurre este error en PrestaShop?
PrestaShop utiliza una base de datos MySQL para almacenar toda la información de tu tienda: productos, clientes, pedidos, configuraciones, etc. Cuando tu tienda intenta acceder a esta base de datos y no lo consigue, se produce el famoso "error de conexión". Las causas más frecuentes son:
- Credenciales incorrectas: El usuario, la contraseña o el nombre de la base de datos en el archivo de configuración no coinciden con los reales.
- Servidor de base de datos caído o inaccesible: El servidor MySQL no está funcionando o no se puede alcanzar desde tu hosting.
- Archivo de configuración dañado o mal escrito: El archivo
parameters.phposettings.inc.phppuede tener errores de sintaxis. - Problemas de permisos: El usuario de la base de datos no tiene permisos suficientes para acceder a ella.
- Actualización o migración fallida: Después de mover tu tienda a un nuevo servidor o actualizar PrestaShop, las rutas o credenciales pueden quedar desactualizadas.
Paso 1: Lo primero, no entres en pánico
Antes de hacer cualquier cambio técnico, respira hondo. Tu tienda no se ha roto para siempre. Lo más probable es que solo necesites ajustar un par de datos. Además, si tienes acceso al panel de control de tu hosting (como Syspanel), podrás resolverlo en minutos.
[INFO] Recuerda que si tu hosting usa Syspanel, puedes acceder a él desde tu navegador usando la dirección https://tudominio.com:2106. Una vez dentro, busca la sección de "Bases de Datos".
Paso 2: Verifica que el servidor MySQL esté funcionando
El primer paso es asegurarte de que el servicio de base de datos esté activo. Si tu hosting usa Syspanel, sigue estos pasos:
- Inicia sesión en Syspanel (puerto 2106).
- Busca la sección "Servicios" o "Estado del servidor".
- Localiza el servicio MySQL o MariaDB (es el motor de base de datos).
- Verifica que su estado sea "Running" (ejecutándose) o "Active". Si aparece como "Stopped" (detenido), haz clic en el botón "Start" o "Reiniciar".
Si no usas Syspanel, contacta con tu proveedor de hosting y pregúntales si el servidor MySQL está funcionando correctamente.
Paso 3: Revisa el archivo de configuración de PrestaShop
Este es el paso más común para solucionar el error. PrestaShop guarda los datos de conexión a la base de datos en un archivo llamado parameters.php. Dependiendo de la versión de PrestaShop, puede estar en una de estas rutas:
- PrestaShop 1.7 y versiones posteriores:
/config/parameters.php - PrestaShop 1.6 y versiones anteriores:
/config/settings.inc.php
Para editarlo, necesitarás un cliente FTP (como FileZilla) o el Administrador de Archivos de tu panel de hosting.
Cómo localizar y editar el archivo:
- Conéctate a tu servidor mediante FTP o al administrador de archivos de Syspanel (puerto 2106).
- Navega hasta la carpeta raíz de tu tienda PrestaShop (suele llamarse
public_htmlohtdocs). - Abre la carpeta
config. - Busca el archivo
parameters.php(osettings.inc.php).
¿Qué debes buscar dentro del archivo?
Abre el archivo con un editor de texto plano (como el Bloc de Notas, no uses Word). Busca una sección que se parezca a esta (en parameters.php):
'database_host' => 'localhost',
'database_port' => '3306',
'database_name' => 'nombre_de_tu_base',
'database_user' => 'usuario_de_tu_base',
'database_password' => 'contraseña_de_tu_base',
O en settings.inc.php:
define('_DB_SERVER_', 'localhost');
define('_DB_NAME_', 'nombre_de_tu_base');
define('_DB_USER_', 'usuario_de_tu_base');
define('_DB_PASSWD_', 'contraseña_de_tu_base');
define('_DB_PREFIX_', 'ps_');
[WARNING] Ten mucho cuidado al editar este archivo. No borres ninguna coma, punto y coma, o comillas. Un solo carácter mal colocado puede romper la conexión.
¿Qué valores debes comprobar?
database_hosto_DB_SERVER_: Normalmente eslocalhost. Si tu base de datos está en un servidor diferente (por ejemplo, un hosting compartido que usa un servidor de bases de datos externo), tu proveedor te habrá dado una dirección IP o un nombre de host (ej:mysql.tudominio.com).database_nameo_DB_NAME_: Debe coincidir exactamente con el nombre de la base de datos que creaste en tu panel de hosting.database_usero_DB_USER_: Debe coincidir con el usuario que tiene permisos sobre esa base de datos.database_passwordo_DB_PASSWD_: La contraseña de ese usuario. Es muy fácil equivocarse aquí, sobre todo si la copiaste manualmente. Te recomiendo que la escribas de nuevo, carácter por carácter.
[TIP] Si no recuerdas tus credenciales, ve a Syspanel (puerto 2106), busca la sección "Bases de Datos" y allí podrás ver el nombre de la base de datos y el usuario. También puedes restablecer la contraseña desde allí.
Paso 4: Comprueba los permisos del usuario de la base de datos
A veces, el usuario existe y la contraseña es correcta, pero no tiene permisos para acceder a la base de datos. Esto es común después de migrar una tienda.
Desde Syspanel (puerto 2106):
- Ve a la sección "Bases de Datos".
- Busca la base de datos de tu PrestaShop.
- Haz clic en "Gestionar permisos" o "Editar usuario".
- Asegúrate de que el usuario tiene marcados todos los privilegios (SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, etc.). Si no estás seguro, selecciona "Todos los privilegios".
- Guarda los cambios.
Paso 5: Prueba la conexión desde una herramienta externa (opcional pero muy útil)
Si después de los pasos anteriores el error persiste, podemos probar la conexión desde fuera de PrestaShop para descartar que el problema sea de la tienda.
Puedes usar una herramienta como phpMyAdmin (suele estar disponible en todos los paneles de hosting) o un cliente de escritorio como MySQL Workbench o HeidiSQL.
Con phpMyAdmin (desde Syspanel):
- En Syspanel (puerto 2106), busca el acceso a phpMyAdmin.
- Intenta iniciar sesión con el usuario y contraseña que tienes en tu archivo
parameters.php. - Si no puedes acceder, el problema son las credenciales. Si sí puedes, el problema está en la configuración de PrestaShop.
Paso 6: Solución rápida: regenera el archivo de configuración
Si has modificado el archivo parameters.php y el error continúa, es posible que el archivo esté corrupto. Una solución drástica pero efectiva es regenerarlo.
Para PrestaShop 1.7 y versiones posteriores:
- Haz una copia de seguridad del archivo
parameters.php(por si acaso). - Elimina el archivo
parameters.phpde la carpeta/config/. - Accede a tu tienda desde un navegador. PrestaShop detectará que falta el archivo y te mostrará el asistente de instalación.
- Sigue los pasos del asistente, pero cuando te pida la base de datos, NO la crees de nuevo. En su lugar, selecciona la opción "Usar una base de datos existente" e introduce las credenciales correctas.
- El asistente regenerará el archivo
parameters.phpcon los datos correctos. Importante: No marques la opción de "Eliminar tablas existentes" o perderás todos tus datos.
[WARNING] Este método es seguro si solo usas una base de datos existente. No reinicies la instalación desde cero, o perderás tu tienda.
Paso 7: Verifica el prefijo de las tablas
A veces, después de una migración, el prefijo de las tablas en la base de datos no coincide con el que espera PrestaShop. En el archivo parameters.php, busca database_prefix (o en settings.inc.php, _DB_PREFIX_). Asegúrate de que sea exactamente el mismo que ves en tus tablas de la base de datos (por ejemplo, ps_ o prestashop_).
Puedes ver los nombres de las tablas desde phpMyAdmin en Syspanel.
Preguntas Frecuentes (FAQ)
¿Por qué mi PrestaShop muestra "Error de conexión a la base de datos" después de cambiar de hosting?
Es el escenario más común. Al migrar, las credenciales (host, usuario, contraseña) cambian. Debes actualizar el archivo parameters.php con los nuevos datos que te proporcionó tu nuevo hosting.
¿Puedo solucionar este error sin perder mis productos y clientes?
Sí, absolutamente. Este error solo impide la conexión a la base de datos, no la borra. Mientras no elimines la base de datos ni sus tablas, toda tu información está a salvo. La solución consiste únicamente en corregir los parámetros de conexión.
¿Qué hago si no tengo acceso a FTP ni al panel de control?
En ese caso, contacta inmediatamente con el soporte técnico de tu proveedor de hosting. Ellos pueden acceder al servidor y verificar el estado del servicio MySQL y la configuración de tu archivo.
¿El error "Error de conexión a base de datos" puede deberse a un ataque?
Es poco probable, pero posible. Si de repente tu base de datos se llena de tablas extrañas o tu archivo parameters.php ha sido modificado sin tu consentimiento, podría ser un indicio. En ese caso, restaura una copia de seguridad limpia y cambia todas tus contraseñas (de la base de datos, del hosting, del FTP, etc.).
¿Debo usar localhost o la IP del servidor?
En el 99% de los casos, localhost es la opción correcta si tu tienda y la base de datos están en el mismo servidor. Si tu proveedor te ha indicado un host diferente (como mysql.tudominio.com), úsalo. Si pones localhost y no funciona, prueba con 127.0.0.1.
Resumen y consejo final
El error de conexión a la base de datos en PrestaShop es un problema mecánico, no un fallo de tu tienda. Siguiendo estos pasos, podrás resolverlo tú mismo en la mayoría de los casos:
- Verifica que MySQL esté funcionando (desde Syspanel, puerto 2106).
- Revisa y corrige el archivo
parameters.phpcon las credenciales exactas. - Comprueba los permisos del usuario de la base de datos.
- Si nada funciona, regenera el archivo usando el asistente de instalación.
[INFO] Si después de todo esto el error persiste, no dudes en contactar a tu proveedor de hosting. A veces el problema está en su infraestructura (firewall, configuración del servidor MySQL, etc.) y solo ellos pueden solucionarlo.
Espero que esta guía te haya sido de gran ayuda. ¡Tu tienda volverá a estar en línea en poco tiempo! Si tienes más dudas, recuerda que siempre puedes consultar la documentación oficial de PrestaShop o preguntar en foros especializados. ¡Mucho éxito con tu tienda!
