🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Errores comunes al conectar una base de datos en WordPress y PrestaShop

Actualizado el 30 de enero de 2026

Conectar una base de datos es el corazón de cualquier tienda online o blog. Tanto WordPress como PrestaShop dependen de MySQL para almacenar productos, pedidos, usuarios y configuración. Cuando falla esa conexión, la web se vuelve inaccesible o muestra errores críticos. No te preocupes: la mayoría de estos fallos tienen soluciones sencillas que puedes aplicar tú mismo.

En esta guía extensa, vamos a desglosar los errores más comunes al conectar una base de datos en estas dos plataformas. Te explicaré por qué ocurren, cómo identificarlos y, lo más importante, cómo solucionarlos paso a paso. Al final, también responderemos a las preguntas frecuentes para que tengas un manual completo de referencia.

¿Por qué es tan importante la conexión a la base de datos?

Antes de entrar en materia, es vital entender el concepto. Piensa en tu web como una biblioteca. Los archivos de WordPress o PrestaShop son los estantes y las paredes, pero la base de datos es el catálogo con todos los libros (tus contenidos, clientes y pedidos). Si el bibliotecario (el script PHP) no puede abrir el catálogo, la biblioteca está abierta pero vacía e inútil. Por eso, cuando falla la conexión, el navegador muestra un mensaje de error en lugar de tu sitio.


Error 1: "Error al establecer una conexión con la base de datos"

Este es el clásico en WordPress. Es un mensaje genérico que puede aparecer en cualquier página. En PrestaShop, el equivalente suele ser un texto en inglés o francés indicando "Link to database cannot be established".

Causas más frecuentes

  1. Credenciales incorrectas: El nombre de usuario, la contraseña o el nombre de la base de datos están mal escritos en el archivo de configuración.
  2. Servidor de base de datos caído: El servicio MySQL se ha detenido o está sobrecargado (muy común en hosting compartido).
  3. El host de la base de datos es erróneo: Usar localhost cuando el servidor real es otro (ej. mysql.tudominio.com).
  4. Permisos de usuario revocados: El usuario de la base de datos no tiene privilegios para acceder desde la IP actual.

Cómo solucionarlo en WordPress

El archivo que controla esto es wp-config.php, ubicado en la raíz de tu instalación.

Paso 1: Accede a tu hosting por FTP o el Administrador de Archivos del panel (por ejemplo, Syspanel).

Paso 2: Abre el archivo wp-config.php y busca estas líneas:

define('DB_NAME', 'nombre_base_datos');
define('DB_USER', 'usuario_bd');
define('DB_PASSWORD', 'tu_contraseña');
define('DB_HOST', 'localhost');

Paso 3: Verifica que los datos sean exactos. Asegúrate de que no haya espacios extra ni comillas mal copiadas. La contraseña debe estar entre comillas simples.

Paso 4: Comprueba el DB_HOST. Muchos servidores no usan localhost. Si tu proveedor te dio un host específico (como mysql.tudominio.com), cámbialo aquí.

[WARNING] Si acabas de mover tu web a un nuevo servidor, es casi seguro que este es el problema. Revisa el correo de bienvenida de tu nuevo hosting para obtener los datos exactos.

Cómo solucionarlo en PrestaShop

El archivo es app/config/parameters.php (en versiones 1.7 y 8.x) o config/settings.inc.php (en versiones 1.6 y anteriores).

Paso 1: Localiza el archivo en la raíz de tu instalación.

Paso 2: Busca los parámetros de conexión:

'database_host' => 'localhost',
'database_name' => 'tu_bd',
'database_user' => 'tu_usuario',
'database_password' => 'tu_clave',

Paso 3: Corrige los valores. A veces, al editar el archivo desde un editor de texto, se introducen caracteres invisibles. Te recomiendo reescribir completamente la línea en lugar de solo editar una letra.


Error 2: "Una o más bases de datos no están disponibles" (PrestaShop)

Este error es típico de PrestaShop y suele aparecer en el panel de administración o en la tienda. A diferencia del error genérico, aquí la plataforma sí logra conectarse, pero no a todas las bases de datos que necesita (por ejemplo, si usas múltiples tiendas o módulos avanzados).

Causas principales

  • El servidor MySQL está bloqueando conexiones simultáneas.
  • La base de datos está corrupta en alguna tabla específica.
  • El usuario tiene límite de conexiones (muy común en planes de hosting baratos).

Solución paso a paso

1. Optimiza las tablas de la base de datos. Entra a phpMyAdmin (desde tu panel de control, como Syspanel). Selecciona tu base de datos, marca todas las tablas y en el menú desplegable elige "Optimizar tabla". Esto repara índices y libera espacio.

2. Revisa los límites de conexión. Si tienes muchos procesos cron o plugins que consultan la BD constantemente, el servidor puede saturarse. Desactiva temporalmente los módulos de terceros desde el back-office (si puedes acceder) o renombra la carpeta /modules para aislar el problema.

3. Aumenta el tiempo de espera. En el archivo config/defines.inc.php de PrestaShop, busca _DB_SERVER_ y verifica que no haya un timeout demasiado bajo. Aunque esto es más avanzado, a veces funciona.

[TIP] Antes de tocar nada, haz una copia de seguridad de la base de datos. Una tabla corrupta puede empeorar si intentas repararla sin respaldo.


Error 3: "Error de conexión a la base de datos: acceso denegado para el usuario"

Este error es más específico y aparece tanto en WordPress como en PrestaShop. El mensaje completo suele incluir Access denied for user 'usuario'@'localhost'.

¿Qué significa?

El servidor MySQL reconoce al usuario, pero la contraseña es incorrecta o el usuario no tiene permiso para conectarse desde ese host (por ejemplo, localhost vs. %).

Solución en WordPress y PrestaShop

Opción A: Restablecer la contraseña del usuario de la BD.

  1. Ve a phpMyAdmin.
  2. Haz clic en la pestaña "Cuentas de usuario" o "Privilegios".
  3. Busca tu usuario y edita sus privilegios.
  4. Cambia la contraseña y asegúrate de que el host sea Cualquier host (%) o el que te indique tu proveedor.
  5. Actualiza el archivo de configuración (wp-config.php o parameters.php) con la nueva contraseña.

Opción B: Verificar el prefijo de las tablas.

A veces, el error no es de conexión, sino de selección de base de datos. Si cambiaste el prefijo (ej. wp_ a miweb_), asegúrate de que el archivo de configuración también lo refleje. En WordPress, busca la línea:

$table_prefix = 'wp_';

En PrestaShop, esto se gestiona en el instalador, pero si lo modificaste manualmente, revisa que las tablas en phpMyAdmin tengan el mismo prefijo.


Error 4: "El servidor MySQL no está disponible" o "Too many connections"

Este es un problema de recursos, no de configuración. Es muy común en hosting compartido o cuando tu web recibe un pico de tráfico.

Síntomas

  • La web tarda mucho en cargar y luego muestra el error.
  • En el panel de administración de PrestaShop ves un mensaje de "Enlace a la base de datos no se puede establecer".
  • En WordPress, el error es el clásico de conexión, pero al reiniciar el servidor de MySQL, se arregla temporalmente.

Cómo solucionarlo

1. Optimiza las consultas. Si usas plugins de caché en WordPress (como W3 Total Cache o WP Rocket), actívalos. En PrestaShop, activa la caché de Smarty en Parámetros Avanzados > Rendimiento.

2. Reduce el número de conexiones. Cierra sesiones antiguas en phpMyAdmin. Puedes ejecutar este comando SQL: KILL <id_proceso>; (reemplaza <id_proceso> por el número que aparece en "Procesos").

3. Contacta con tu proveedor. Si el error es constante, tu plan de hosting no es suficiente. Necesitas migrar a un plan con más recursos o a un servidor VPS.

[INFO] En Syspanel (accesible por el puerto 2106), puedes ver el consumo de recursos en tiempo real. Si la memoria o la CPU están al 100%, este es el diagnóstico definitivo.


Error 5: "Base de datos no encontrada" o "Unknown database"

Este error es más raro, pero ocurre. Significa que el nombre de la base de datos en tu archivo de configuración no existe en el servidor MySQL.

¿Por qué sucede?

  • Alguien borró la base de datos por error.
  • Al importar una copia de seguridad, se importó con otro nombre.
  • El archivo de configuración apunta a una base de datos de otro dominio.

Solución

1. Verifica en phpMyAdmin que la base de datos existe.

2. Si no existe, créala con el mismo nombre y luego importa tu copia de seguridad (.sql).

3. Si existe, corrige el nombre en el archivo de configuración. Asegúrate de que no haya un guion bajo de más o un carácter invisible.

4. Comprueba los privilegios. El usuario debe tener todos los privilegios sobre esa base de datos específica. En phpMyAdmin, ve a "Privilegios" y edita el usuario para marcar "Otorgar todos los privilegios con opción GRANT".


Error 6: Problemas con el puerto de conexión MySQL

Aunque es menos común, a veces el servidor MySQL no usa el puerto estándar (3306). Si tu hosting usa un puerto personalizado, debes especificarlo.

En WordPress

Agrega el puerto al final del DB_HOST:

define('DB_HOST', 'localhost:3307');

En PrestaShop

En parameters.php, busca la clave database_port y cámbiala:

'database_port' => '3307',

[WARNING] No confundas el puerto de MySQL con el puerto de acceso al panel de control. Syspanel se accede por el puerto 2106, pero MySQL normalmente sigue en el 3306 salvo que tu proveedor indique lo contrario.


Errores específicos al usar HestiaCP (ahora Syspanel)

Si tu hosting usa el panel Syspanel, hay un error muy típico: al crear la base de datos, el panel genera un prefijo con el nombre de usuario. Por ejemplo, si tu usuario es cliente1, la base de datos se llama cliente1_wordpress y el usuario cliente1_bdusuario.

El error más común en Syspanel

"Access denied for user 'cliente1_bdusuario'@'localhost'"

Esto ocurre porque en tu archivo wp-config.php escribiste cliente1_bdusuario pero con una errata, o intentaste usar un usuario de otra base de datos.

Solución: Entra a Syspanel (recuerda, por el puerto 2106). Ve a "Bases de Datos" y copia exactamente los nombres y contraseñas que aparecen allí. No los inventes ni los modifiques.

Otro error típico: Al instalar PrestaShop, el instalador no reconoce el host. En Syspanel, el host suele ser localhost, pero si tienes varios dominios, puede ser que necesites usar la IP del servidor. Prueba con 127.0.0.1 en lugar de localhost.

[TIP] Si acabas de migrar un sitio a Syspanel, asegúrate de que el usuario de la base de datos tenga permisos de "SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, INDEX, DROP". A veces, al importar desde otro panel, los privilegios se pierden.


Preguntas frecuentes (FAQ)

¿Cómo sé si mi base de datos está caída o es un problema de código?

Si el error aparece de repente sin haber tocado nada, es probable que sea el servidor. Si aparece después de mover archivos o editar configuración, es un problema de credenciales. Prueba a acceder a phpMyAdmin: si puedes ver tus tablas, la base de datos está viva y el problema está en tu archivo de configuración.

¿Puedo cambiar el prefijo de las tablas de WordPress sin romper la conexión?

Sí, pero no solo en el archivo wp-config.php. Debes cambiar el nombre de las tablas en phpMyAdmin (ej. de wp_options a miweb_options) y actualizar el prefijo en el archivo. Si no lo haces, verás el error de "tabla no existe".

¿Por qué PrestaShop me pide el host de la base de datos y no acepta "localhost"?

Algunos servidores usan sockets Unix en lugar de TCP/IP. En ese caso, localhost puede fallar. Prueba con 127.0.0.1. Si sigues fallando, contacta a tu proveedor para que te dé el host exacto.

¿Qué hago si he olvidado la contraseña de la base de datos?

No la puedes recuperar, pero sí restablecer. Entra a phpMyAdmin como administrador (root o con un usuario con privilegios). Ve a "Cuentas de usuario", edita el usuario de tu web y genera una nueva contraseña. Después, actualiza el archivo de configuración correspondiente.

¿Es normal que el error de conexión aparezca solo en el móvil?

No. Eso suele ser un problema de caché del navegador o de DNS. Prueba en incógnito. Si en el PC funciona y en el móvil no, limpia la caché de tu móvil.


Conclusión y checklist final

Hemos cubierto los errores más comunes al conectar una base de datos en WordPress y PrestaShop. La mayoría se resuelven verificando tres cosas: credenciales, host y permisos. Antes de llamar al soporte técnico, sigue este checklist:

  1. Revisa el archivo de configuración (wp-config.php o parameters.php). ¿Están bien los datos?
  2. Prueba la conexión desde phpMyAdmin con el mismo usuario y contraseña. Si falla, es un problema de credenciales.
  3. Comprueba el estado del servicio MySQL en tu panel (Syspanel, cPanel, etc.).
  4. Asegúrate de que la base de datos existe y no está vacía.
  5. Verifica el puerto (3306 por defecto).
  6. Revisa los límites de conexión si tienes muchos procesos.

Con estos pasos, resolverás el 95% de los problemas. Si aún así no funciona, entonces sí es momento de contactar con tu proveedor de hosting, pero ahora podrás darles información precisa y técnica sobre el error exacto, lo que acelerará la solución.

Recuerda: la paciencia es clave. Un error de base de datos no significa que hayas perdido tus datos. Simplemente es que la llave no abre la cerradura. Con esta guía, tienes el llavero completo.

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel