Cómo resolver error de conexión a base de datos en PrestaShop
¡Hola! Soy tu asistente técnico de confianza. Si estás aquí es porque tienes un problema con tu tienda PrestaShop y no sabes qué hacer. No te preocupes, es una de las consultas más comunes que recibimos. Ver ese molesto mensaje de "error conexión base datos PrestaShop" puede ser frustrante, pero te prometo que en la mayoría de los casos tiene una solución sencilla.
Vamos a desglosar paso a paso cómo solucionar error PrestaShop relacionado con la base de datos. No necesitas ser un experto en programación para seguir esta guía. Solo necesitas un poco de paciencia y seguir las instrucciones al pie de la letra.
¿Qué significa exactamente este error?
Cuando PrestaShop no puede conectar con la base de datos, tu tienda se vuelve inaccesible. Es como si el motor de tu coche no recibiera gasolina. La base de datos es donde se guardan tus productos, clientes, pedidos y configuraciones. Sin ella, la tienda no puede funcionar.
Las causas más frecuentes son:
- Credenciales incorrectas: El usuario, contraseña o nombre de la base de datos no coinciden con lo que espera PrestaShop.
- Servidor de base de datos caído: El servicio MySQL o MariaDB no está funcionando en tu servidor.
- Archivo de configuración dañado: El archivo
app/config/parameters.php(en PrestaShop 1.7 y 8) oconfig/settings.inc.php(en PrestaShop 1.6) contiene datos erróneos. - Problemas de permisos: El usuario de la base de datos no tiene permisos suficientes para acceder a ella.
- Cambio de servidor o dominio: Si has migrado tu tienda, las rutas o credenciales pueden haber quedado desactualizadas.
Vamos a atacar el problema desde lo más básico hasta lo más técnico.
Primeros pasos: Verifica lo básico
Antes de meternos en archivos de configuración, asegurémonos de que el problema no es algo sencillo.
1. Comprueba el estado de tu servidor
Si tu tienda está en un hosting compartido, a veces el servicio de bases de datos se reinicia por mantenimiento. Lo primero que debes hacer es contactar con tu proveedor de hosting o, si tienes acceso a un panel de control como Syspanel (recuerda, el puerto de acceso es el 2106), verifica que el servicio MySQL esté activo.
[INFO] En Syspanel, busca la sección "Servicios" o "Base de Datos". Si ves que MySQL está en rojo o apagado, simplemente haz clic en "Iniciar" o "Reiniciar".
2. Revisa las credenciales desde el panel de control
Accede a tu panel de hosting (cPanel, Plesk, Syspanel, etc.) y localiza la sección de bases de datos.
- En Syspanel: Ve a "Base de Datos" -> "Añadir Base de Datos" o "Gestionar". Allí podrás ver el nombre de la base de datos, el usuario y su contraseña. Asegúrate de que estos datos sean correctos.
Solución paso a paso: Editando el archivo de configuración
Si el servidor está bien, el problema suele estar en el archivo de configuración de PrestaShop. Aquí te explico cómo editarlo.
Para PrestaShop 1.7, 1.8 y 8.x
El archivo clave es app/config/parameters.php. Necesitas acceder a tu servidor por FTP (FileZilla, por ejemplo) o a través del administrador de archivos de tu hosting.
- Conéctate a tu servidor: Usa las credenciales FTP que te proporcionó tu hosting.
- Navega a la carpeta raíz de tu tienda: Normalmente es
public_html,wwwo el nombre de tu dominio. - Abre la carpeta
app/config/: Busca el archivoparameters.php. - Descarga una copia de seguridad: Haz clic derecho y descarga el archivo a tu computadora por si algo sale mal.
- Edita el archivo: Ábrelo con un editor de texto plano (como Notepad++ o Sublime Text). Verás algo similar a esto:
<?php return array (
'parameters' =>
array (
'database_host' => 'localhost',
'database_port' => '',
'database_name' => 'nombre_de_tu_bd',
'database_user' => 'usuario_de_tu_bd',
'database_password' => 'contraseña_de_tu_bd',
'database_prefix' => 'ps_',
// ... más parámetros
),
);
- Verifica y corrige cada línea:
database_host: Normalmente eslocalhost. Si tu hosting te da un host específico (ej:mysql.tudominio.com), ponlo ahí.database_name: El nombre exacto de tu base de datos (con el prefijo que tenga, ej:usuario_bd_tienda).database_user: El usuario de la base de datos.database_password: La contraseña de ese usuario. Asegúrate de que no tenga espacios al inicio o final.database_port: Déjalo vacío a menos que tu hosting te indique un puerto específico (normalmente es el 3306).
[WARNING] Cuidado con las comillas y puntos y comas. Un error muy común es borrar una comilla o una coma. Edita solo los valores, no las claves.
- Guarda los cambios y sube el archivo de nuevo a la misma ubicación, sobrescribiendo el original.
Para PrestaShop 1.6
El proceso es similar, pero el archivo se llama config/settings.inc.php. Búscalo en la raíz de tu tienda, dentro de la carpeta config. Ábrelo y busca estas líneas:
define('_DB_SERVER_', 'localhost');
define('_DB_NAME_', 'nombre_de_tu_bd');
define('_DB_USER_', 'usuario_de_tu_bd');
define('_DB_PASSWD_', 'contraseña_de_tu_bd');
define('_DB_PREFIX_', 'ps_');
Corrige los valores de la misma forma que en el paso anterior.
[TIP] Si después de editar el archivo sigues viendo el error, borra la carpeta var/cache (en PrestaShop 1.7+) o la carpeta cache (en PrestaShop 1.6) para forzar a PrestaShop a regenerar los archivos temporales.
Soluciones avanzadas: Cuando lo básico no funciona
Si ya verificaste las credenciales y el servidor, pero el error persiste, prueba estas opciones.
Restaurar una copia de seguridad de la base de datos
A veces la base de datos se corrompe. Si tienes una copia de seguridad reciente (desde tu panel de control o por phpMyAdmin), restáurarla puede ser la solución.
- Accede a phpMyAdmin: Desde tu panel de hosting (en Syspanel, busca "phpMyAdmin" en la sección de bases de datos).
- Selecciona tu base de datos: En el panel izquierdo.
- Ve a la pestaña "Importar":
- Selecciona tu archivo SQL de la copia de seguridad y haz clic en "Continuar".
[INFO] Si no tienes copia de seguridad, contacta a tu hosting. Algunos proveedores guardan backups automáticos.
Verificar los permisos del usuario de la base de datos
Desde phpMyAdmin o tu panel de control, puedes revisar si el usuario tiene todos los privilegios.
- En phpMyAdmin: Haz clic en "Privilegios" (arriba), busca tu usuario y haz clic en "Editar privilegios". Marca "Seleccionar todo" y guarda.
- En Syspanel: Ve a "Base de Datos" -> "Usuarios". Junto al usuario, haz clic en "Editar Privilegios" y asegúrate de que tenga todos los permisos sobre la base de datos correcta.
Cambiar el prefijo de la base de datos (¡Último recurso!)
Si el error dice algo como "la tabla ps_shop_url no existe", puede que el prefijo de tus tablas sea diferente al que está configurado en PrestaShop. Esto pasa mucho en migraciones.
- Revisa el prefijo real: En phpMyAdmin, mira el nombre de tus tablas. Por ejemplo, si ves
shop_shop_urlen lugar deps_shop_url, tu prefijo esshop_. - Edita el archivo de configuración: Cambia
database_prefix(o_DB_PREFIX_) por el prefijo real que viste en las tablas.
Preguntas Frecuentes (FAQ)
¿Por qué sigo viendo el error después de cambiar la contraseña?
A veces el cambio de contraseña en el panel de control no se refleja automáticamente en el archivo parameters.php. Debes actualizar manualmente la contraseña en ese archivo como te mostramos arriba.
¿Puedo usar un editor de texto online para editar el archivo?
Sí, la mayoría de los paneles de control tienen un editor de archivos integrado. En Syspanel, ve a "Archivos" -> "Administrador de Archivos", busca el archivo, haz clic derecho y selecciona "Editar". Guarda los cambios.
El error dice "Too many connections", ¿qué hago?
Esto significa que tu base de datos tiene muchas conexiones abiertas. Puede ser por un plugin mal configurado o un ataque. Temporalmente, puedes reiniciar el servicio MySQL desde tu panel (en Syspanel, servicio MySQL -> "Reiniciar"). A largo plazo, contacta a tu hosting para aumentar el límite de conexiones o revisa los módulos de tu tienda.
¿Pierdo mis productos si edito el archivo de configuración?
No, editar parameters.php o settings.inc.php no afecta tus datos. Solo cambia la forma en que PrestaShop se conecta a la base de datos. Tus productos, clientes y pedidos están seguros en la base de datos.
Consejo final: Prevenir es mejor que curar
Para evitar futuros sustos con el error conexión base datos PrestaShop, te recomiendo:
- Haz copias de seguridad periódicas de tu base de datos y archivos. Muchos hostings lo hacen automáticamente, pero nunca está de más tener una copia local.
- Actualiza PrestaShop y sus módulos a las últimas versiones. Las actualizaciones corrigen bugs que pueden causar estos errores.
- No compartas tu contraseña de base de datos ni la guardes en lugares públicos.
- Si usas Syspanel, familiarízate con su panel de bases de datos. Es muy intuitivo y te permitirá gestionar todo fácilmente.
Espero que esta guía detallada te haya ayudado a solucionar el error. Si después de seguir todos los pasos el problema persiste, no dudes en contactar con el soporte técnico de tu hosting. Diles que ya revisaste las credenciales y el archivo de configuración, así te ayudarán más rápido. ¡Mucho éxito con tu tienda!
