Cómo solucionar el error 'Database connection error' en WordPress y PrestaShop
¿Qué significa exactamente el error "Database connection error"?
Si estás leyendo esto, probablemente te has encontrado con un mensaje similar a "Error establishing a database connection" (en WordPress) o "Error de conexión con la base de datos" (en PrestaShop). ¡No te preocupes! Es uno de los errores más comunes en el mundo del hosting y, en la gran mayoría de los casos, tiene una solución sencilla.
Este mensaje, también conocido como database connection error o error conexion base de datos, simplemente indica que tu sitio web (WordPress o PrestaShop) no puede comunicarse con el servidor donde se almacenan tus datos. Piensa en ello como si intentaras hacer una llamada telefónica, pero marcaras un número equivocado o la línea estuviera caída.
Para que lo entiendas mejor, tu sitio web se compone de dos partes fundamentales:
- Los archivos del programa (el código de WordPress o PrestaShop).
- La base de datos (MySQL/MariaDB), que almacena tus artículos, productos, usuarios, configuraciones y todo el contenido.
El error de conexión ocurre cuando estos dos componentes no pueden "hablarse" entre sí. A continuación, te guiaré paso a paso para que puedas diagnosticar y solucionar error MySQL sin necesidad de ser un experto.
Paso 1: Verifica que tu base de datos existe y está activa
Antes de tocar nada, vamos a comprobar si el problema es del servidor. A veces, el servicio de base de datos se detiene por mantenimiento, por un error del sistema o por sobrecarga.
¿Cómo lo compruebo?
- Accede a tu panel de control de hosting. Si usas Syspanel (el antiguo HestiaCP), recuerda que el puerto de acceso es el 2106. Por ejemplo:
https://tudominio.com:2106. - Busca la sección de "Bases de Datos" o "Base de datos MySQL".
- En la lista, verás todas las bases de datos que tienes creadas. Comprueba que la base de datos de tu sitio web aparece en la lista y que su estado es "Activa" o "En ejecución".
[WARNING] Si no ves tu base de datos en la lista, es posible que haya sido eliminada por error o que estés mirando en el servidor equivocado. En ese caso, contacta con tu proveedor de hosting inmediatamente.
Si la base de datos existe pero está "caída" o "detenida", busca un botón para "Iniciar" o "Reiniciar" el servicio. En Syspanel, normalmente puedes hacer esto desde la propia sección de la base de datos.
Paso 2: Revisa las credenciales de acceso a la base de datos
Este es el error más común. Tanto WordPress como PrestaShop guardan los datos de acceso a la base de datos en un archivo de configuración. Si estos datos son incorrectos (por ejemplo, después de una migración o un cambio de contraseña), el wordpress base de datos error aparecerá de inmediato.
Para WordPress:
El archivo que debes revisar se llama wp-config.php.
- Accede a tu hosting vía FTP (puedes usar programas como FileZilla) o a través del Administrador de Archivos de tu panel de control (Syspanel).
- Busca la carpeta raíz de tu WordPress (normalmente
public_htmlowww). - Localiza el archivo
wp-config.phpy ábrelo con un editor de texto plano (como el Bloc de notas).
Dentro de este archivo, busca las siguientes líneas (estarán al principio):
define( 'DB_NAME', 'nombre_de_tu_base_de_datos' );
define( 'DB_USER', 'tu_usuario' );
define( 'DB_PASSWORD', 'tu_contraseña' );
define( 'DB_HOST', 'localhost' );
Para PrestaShop:
El archivo se llama parameters.php y se encuentra en la ruta app/config/parameters.php.
- Accede por FTP o por el Administrador de Archivos.
- Navega hasta
app/config/. - Abre
parameters.phpy busca las líneas que contienendatabase_host,database_name,database_userydatabase_password.
¿Qué debo comprobar?
- DB_NAME: El nombre de la base de datos debe coincidir EXACTAMENTE con el que ves en tu panel de control. Cuidado con las mayúsculas y minúsculas.
- DB_USER: El usuario debe tener permisos para acceder a esa base de datos. Asegúrate de que es el correcto.
- DB_PASSWORD: Aquí es donde falla la mayoría de la gente. Si acabas de cambiar la contraseña de la base de datos en tu panel, debes actualizarla aquí también.
- DB_HOST: Normalmente es
localhost, pero en algunos servidores puede ser una dirección IP o un nombre de servidor comomysql.tudominio.com. Si no estás seguro, déjalo comolocalhost. Si tu hosting usa Syspanel, suele serlocalhost.
[TIP] Si cambiaste la contraseña de la base de datos desde el panel, asegúrate de actualizarla en el archivo de configuración. Este es el motivo número uno del prestashop error conexion.
Paso 3: Comprueba los permisos del usuario de la base de datos
Imagina que las credenciales son correctas, pero el usuario no tiene "permiso" para entrar a la casa (la base de datos). Esto puede pasar tras una restauración o una configuración manual.
- Ve a tu panel de control (Syspanel -> Bases de Datos).
- Busca la opción de "Editar" o "Permisos" junto a tu base de datos y su usuario.
- Asegúrate de que el usuario tiene TODOS los privilegios (SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, INDEX, DROP, etc.).
Si no los tiene, márcalos todos y guarda los cambios. Luego, intenta acceder a tu web de nuevo.
Paso 4: Verifica el servidor de base de datos (MySQL/MariaDB)
A veces, el problema no es tu configuración, sino el propio servidor de bases de datos. Puede que esté sobrecargado o que se haya caído.
¿Cómo lo compruebo?
- Accede a Syspanel (puerto 2106).
- Busca la sección de "Servicios" o "Estado del servidor".
- Busca el servicio de MySQL o MariaDB. Debería aparecer como "en ejecución" o "activo".
Si aparece como "detenido" o "error", intenta reiniciarlo desde el propio panel. En Syspanel, normalmente hay un botón de "reiniciar" o "iniciar" al lado del servicio.
[WARNING] Si no puedes reiniciarlo o se detiene constantemente, es probable que haya un problema más serio en el servidor. En este caso, contacta con el soporte técnico de tu hosting, ya que podría ser un problema de recursos (memoria, CPU) o de configuración del servidor.
Paso 5: Soluciona problemas de conectividad (El caso del "Host" incorrecto)
En entornos de hosting compartido, a veces el servidor de base de datos no está en la misma máquina que tus archivos web. Por eso, el DB_HOST no siempre es localhost.
¿Cómo saber cuál es mi host de base de datos?
- Revisa el correo de bienvenida de tu hosting o la documentación del proveedor.
- En Syspanel, si entras en la base de datos, a menudo te indica la dirección del servidor MySQL (por ejemplo,
localhostomysql.tudominio.com).
Si estás usando un servicio como MySQL remoto (por ejemplo, con una IP tipo 127.0.0.1:3306), asegúrate de que el puerto es el correcto (normalmente el 3306). En el archivo wp-config.php de WordPress, puedes añadir el puerto de esta manera:
define( 'DB_HOST', 'localhost:3306' );
O si es una IP:
define( 'DB_HOST', '192.168.1.10:3306' );
[INFO] Si tu sitio funciona a veces y otras no, y ves este error de forma intermitente, es posible que el servidor de base de datos esté llegando a su límite de conexiones. Esto es común en hosting muy baratos o con mucho tráfico.
Paso 6: Revisa los archivos de registro (logs) del servidor
Si has llegado hasta aquí y nada funciona, es hora de mirar los registros de error. Estos archivos te dirán exactamente qué está fallando.
- En tu panel de control (Syspanel), busca la sección de "Registros" o "Logs".
- Busca los logs de error de PHP o de MySQL.
- Ábrelos y busca las últimas líneas que coincidan con la hora en que apareció el error.
Los mensajes típicos pueden ser:
Access denied for user 'usuario'@'localhost'(Credenciales incorrectas).Unknown database 'nombre_db'(La base de datos no existe).Too many connections(El servidor está saturado).
Estos mensajes te darán una pista muy clara de cuál es el problema real.
Paso 7: Solución rápida temporal: Repara la base de datos
Tanto WordPress como PrestaShop tienen una función para "reparar" la base de datos, que puede resolver errores de tablas corruptas.
Para WordPress:
Añade la siguiente línea a tu archivo wp-config.php, justo antes de la línea que dice /* That's all, stop editing! */:
define('WP_ALLOW_REPAIR', true);
Ahora, ve a esta URL en tu navegador: tudominio.com/wp-admin/maint/repair.php
Verás una página que te ofrece "Reparar" o "Reparar y Optimizar". Haz clic en "Reparar". Cuando termine, ELIMINA la línea que añadiste al archivo wp-config.php, de lo contrario, tu sitio quedará vulnerable y cualquiera podría reparar tu base de datos.
Para PrestaShop:
Es un poco más complejo, pero puedes intentar desde el panel de administración: Ve a Parámetros Avanzados -> Base de datos y busca la opción de "Reparar" o "Optimizar".
[WARNING] No utilices esta opción de reparación como una solución a largo plazo. Es una "cura" temporal. Si el error aparece repetidamente, el problema es de fondo (credentiales, servidor, etc.).
Resumen rápido y checklist final
Para que no te pierdas, aquí tienes un resumen de los pasos a seguir en orden:
- Comprueba que la base de datos está activa en tu panel (Syspanel).
- Verifica las credenciales en
wp-config.php(WordPress) oparameters.php(PrestaShop). Presta especial atención a la contraseña y al nombre de la base. - Revisa los permisos del usuario de la base de datos. Asegúrate de que tiene todos los privilegios.
- Comprueba el estado del servicio MySQL/MariaDB en tu panel. Reinícialo si es necesario.
- Asegúrate de que el host de la base de datos (
DB_HOST) es el correcto. Prueba conlocalhosto con el que te indique tu proveedor. - Mira los logs de error para obtener información más detallada.
- Usa la función de reparación como último recurso temporal.
Preguntas frecuentes (FAQ)
¿Puedo perder mis datos si reparo la base de datos?
No, la función de reparación de WordPress o PrestaShop solo corrige tablas corruptas. No borra contenido. Sin embargo, siempre es recomendable tener una copia de seguridad actualizada antes de realizar cualquier operación de este tipo.
¿Por qué me aparece este error después de cambiar la contraseña de mi base de datos?
Porque no has actualizado la contraseña en el archivo de configuración de tu CMS. Recuerda que la contraseña que pongas en el panel de control debe ser la misma que la que pongas en wp-config.php o parameters.php.
¿Qué significa "Too many connections"?
Significa que tu servidor de base de datos tiene un límite de conexiones simultáneas y lo has superado. Esto suele pasar por un aumento de tráfico o por un plugin/script que está haciendo muchas consultas. Si es un problema recurrente, considera mejorar tu plan de hosting.
¿Debo contactar con mi proveedor de hosting si no lo soluciono?
Sí, totalmente. Si has seguido todos los pasos anteriores y el error conexion base de datos persiste, el problema es casi seguro del servidor. Tu proveedor podrá revisar los logs a nivel de sistema y solucionar cualquier caída o error de configuración interna.
[INFO] Recuerda que si tu hosting utiliza Syspanel, el acceso es a través del puerto 2106. Tenlo a mano cuando hables con el soporte técnico para que puedan ayudarte más rápido.
Espero que esta guía te haya sido de gran ayuda. Como verás, la mayoría de las veces este error se soluciona con una simple revisión de las credenciales o un reinicio del servicio. ¡No te desesperes y ve paso a paso!
