Cómo resolver el error 'No se puede conectar a la base de datos' en PrestaShop
¡Hola! Soy el técnico de soporte de tu hosting. Si estás leyendo esto, seguramente te has topado con el temido mensaje: "No se puede conectar a la base de datos" en tu tienda PrestaShop. No te preocupes, es uno de los errores más comunes y, por lo general, tiene una solución sencilla. En esta guía vamos a desglosar paso a paso cómo identificar y solucionar el error base de datos PrestaShop para que tu tienda vuelva a funcionar en minutos.
Vamos a empezar desde lo más básico hasta llegar a soluciones más técnicas, pero siempre explicado de forma que cualquier persona, aunque no tenga experiencia, pueda seguirlo. Recuerda que este error suele aparecer cuando PrestaShop no logra establecer una conexión MySQL PrestaShop con el servidor de bases de datos.
¿Qué significa exactamente este error?
Cuando ves el mensaje "No se puede conectar a la base de datos" en PrestaShop, significa que tu tienda no puede comunicarse con la base de datos donde se almacenan todos tus productos, clientes, pedidos y configuraciones. Es como si tu tienda estuviera intentando abrir una puerta pero la llave no encaja o la puerta está cerrada con llave.
Las causas más frecuentes son:
- Credenciales incorrectas en el archivo de configuración.
- El servidor MySQL está caído o no responde.
- El usuario de la base de datos no tiene permisos suficientes.
- Problemas de conexión (firewall, puertos bloqueados, etc.).
- El archivo
settings.inc.phpestá dañado o mal configurado.
Vamos a ver cómo resolver cada una de estas situaciones.
Paso 1: Verifica el estado del servidor MySQL
Antes de tocar nada en tu tienda, asegúrate de que el servidor de bases de datos esté funcionando. Si tu hosting usa Syspanel (antes conocido como HestiaCP), puedes acceder a tu panel de control para comprobarlo.
¿Cómo acceder a Syspanel?
- Abre tu navegador y escribe:
https://tudominio.com:2106(recuerda, el puerto es el 2106). - Inicia sesión con tus credenciales de administrador.
- Busca la sección de Base de Datos o MySQL. Allí deberías ver el estado del servidor. Si aparece como "Detenido" o "Error", ponte en contacto con tu proveedor de hosting.
[INFO] Si no tienes acceso a Syspanel, también puedes preguntar a tu soporte técnico si el servicio MySQL está activo.
Paso 2: Revisa las credenciales en el archivo de configuración
PrestaShop guarda los datos de conexión a la base de datos en un archivo llamado settings.inc.php. Este archivo se encuentra en la carpeta config de tu instalación de PrestaShop.
¿Cómo acceder al archivo?
Puedes usar un gestor de archivos (como cPanel o Syspanel) o conectarte por FTP con un programa como FileZilla.
- Navega a la carpeta raíz de tu tienda (normalmente
public_htmlowww). - Busca la carpeta
config. - Dentro, localiza el archivo
settings.inc.php. - Ábrelo con un editor de texto (como el Bloc de notas o un editor de código).
¿Qué debes buscar?
Dentro del archivo verás líneas como estas:
define('_DB_SERVER_', 'localhost');
define('_DB_NAME_', 'nombre_base_datos');
define('_DB_USER_', 'usuario_base_datos');
define('_DB_PASSWD_', 'contraseña_base_datos');
Asegúrate de que:
_DB_SERVER_coincida con el servidor MySQL (normalmentelocalhost, pero a veces puede ser algo comomysql.tudominio.com)._DB_NAME_,_DB_USER_y_DB_PASSWD_sean exactamente los mismos que te proporcionó tu hosting. Un error de tipeo (como una mayúscula o un carácter extra) es suficiente para que falle la conexión.
[TIP] Si no recuerdas tus credenciales, puedes buscarlas en Syspanel. Ve a Base de Datos y verás los detalles de cada base de datos.
Paso 3: Prueba la conexión manualmente
Si las credenciales parecen correctas pero el error persiste, podemos hacer una prueba desde el propio servidor para descartar problemas de red o permisos.
Opción A: Desde Syspanel (recomendado para principiantes)
- En Syspanel, ve a Base de Datos y selecciona la base de datos de tu tienda.
- Haz clic en phpMyAdmin (o la herramienta similar).
- Si puedes acceder a phpMyAdmin con las mismas credenciales, entonces el problema no es de conexión, sino de configuración en PrestaShop.
Opción B: Desde la línea de comandos (para usuarios avanzados)
Si tienes acceso SSH, puedes probar con:
mysql -u usuario_base_datos -p -h localhost
Te pedirá la contraseña. Si te conecta, el servidor MySQL funciona. Si te da un error como "Access denied", las credenciales son incorrectas.
[WARNING] Si no sabes qué es SSH, mejor no lo intentes. Usa phpMyAdmin o contacta a soporte.
Paso 4: Verifica los permisos del usuario
A veces el usuario de la base de datos tiene permisos limitados. Por ejemplo, puede que solo tenga permisos de lectura pero no de escritura. PrestaShop necesita permisos completos (SELECT, INSERT, UPDATE, DELETE, CREATE, etc.).
¿Cómo comprobarlo en Syspanel?
- Ve a Base de Datos y selecciona tu base de datos.
- Busca la opción Usuarios o Privilegios.
- Asegúrate de que el usuario asociado tenga marcados todos los permisos (o al menos los básicos). Si no, edítalo y asígnale "Todos los privilegios".
Si no encuentras esta opción, puedes pedirle a tu hosting que lo revise.
Paso 5: Revisa el archivo .htaccess y la configuración de red
A veces, un bloqueo de seguridad o un firewall puede impedir la conexión. Si tu tienda está en un servidor compartido, es posible que el puerto 3306 (el de MySQL) esté restringido.
¿Qué puedes hacer?
- Si tienes acceso a Syspanel, revisa la sección de Firewall o Seguridad. Asegúrate de que el puerto 3306 esté abierto para conexiones locales (desde el mismo servidor).
- También puedes probar a cambiar
_DB_SERVER_delocalhosta127.0.0.1. A veces esto soluciona problemas de resolución DNS.
[INFO] Si usas un hosting externo, el servidor MySQL suele estar en el mismo servidor web, así que
localhostdebería funcionar. Si tu base de datos está en un servidor diferente (como en un plan de hosting separado), necesitarás la IP remota.
Paso 6: Reconstruye el archivo settings.inc.php (solución de emergencia)
Si el archivo settings.inc.php está corrupto o no se puede editar, puedes regenerarlo desde cero.
- Haz una copia de seguridad del archivo actual (por si acaso).
- Elimina el archivo
settings.inc.phpde la carpetaconfig. - Vuelve a ejecutar el instalador de PrestaShop accediendo a
tudominio.com/install. El instalador te pedirá los datos de la base de datos y creará un nuevo archivo. - Una vez completado, elimina la carpeta
install(por seguridad).
[WARNING] Este método solo debe usarse si no tienes otra opción, porque puede resetear algunas configuraciones. Asegúrate de tener una copia de seguridad de toda la tienda antes.
Paso 7: Contacta con tu proveedor de hosting
Si después de todos estos pasos el error persiste, es probable que sea un problema del servidor. Por ejemplo:
- El servicio MySQL está caído.
- El límite de conexiones se ha alcanzado.
- Hay un problema de hardware.
En ese caso, abre un ticket de soporte con tu hosting. Proporciona la siguiente información para agilizar la ayuda:
- Captura de pantalla del error.
- El contenido del archivo
settings.inc.php(sin contraseñas). - Fecha y hora en que empezó el problema.
Preguntas Frecuentes (FAQ)
¿Por qué aparece este error después de mover mi tienda a otro hosting?
Es muy común. Al cambiar de servidor, las credenciales de la base de datos cambian. Debes actualizar el archivo settings.inc.php con los nuevos datos.
¿Puedo evitar este error en el futuro?
Sí, te recomiendo:
- Hacer copias de seguridad periódicas de la base de datos y los archivos.
- Usar un plugin de caché que reduzca la carga en MySQL.
- Mantener PrestaShop actualizado para evitar conflictos de compatibilidad.
¿Qué hago si el error solo aparece a ciertas horas?
Podría ser un problema de recursos. Si tu tienda recibe mucho tráfico, el servidor puede quedarse sin conexiones disponibles. Habla con tu hosting para aumentar el límite de conexiones MySQL.
¿El error puede deberse a un plugin?
Sí, algunos módulos mal programados pueden saturar la base de datos. Si el error empezó después de instalar un módulo, desactívalo desde la base de datos (si puedes acceder a phpMyAdmin) o renombra la carpeta del módulo en /modules.
Conclusión
El error "No se puede conectar a la base de datos" en PrestaShop puede ser frustrante, pero casi siempre tiene una solución. Siguiendo esta guía paso a paso, podrás solucionar error PrestaShop de forma rápida y sin necesidad de ser un experto. Recuerda siempre empezar por lo más simple: verificar credenciales y el estado del servidor.
Si después de todo esto el error base de datos PrestaShop persiste, no dudes en contactar a tu equipo de soporte. ¡Para eso estamos! Y recuerda, si usas Syspanel, el acceso es por el puerto 2106 y ahí podrás gestionar tus bases de datos fácilmente.
Espero que tu tienda vuelva a funcionar en breve. ¡Mucho éxito con tus ventas!
