Cómo arreglar el error 'Unable to connect to database' en WordPress (cPanel y Plesk)
¿Qué significa exactamente el error "Unable to connect to database"?
Cuando tu sitio WordPress muestra el mensaje "Error establishing a database connection" (o el clásico "Unable to connect to database"), significa que WordPress no puede comunicarse con el servidor MySQL o MariaDB donde se almacena tu información. Sin esa conexión, no puede cargar entradas, páginas, usuarios ni configuraciones.
Este es uno de los errores más comunes en WordPress y, afortunadamente, en la mayoría de los casos tiene una solución sencilla. No necesitas ser un experto en programación para resolverlo. En esta guía completa, te explico paso a paso cómo diagnosticar y arreglar este problema tanto en cPanel como en Plesk, los dos paneles de control más utilizados en el hosting compartido.
[INFO] Este error puede aparecer en todo el sitio o solo en algunas páginas. También puede ser intermitente: funciona un rato y luego falla. Cada situación apunta a un origen distinto, así que vamos a revisarlas todas.
Primero: haz una copia de seguridad antes de tocar nada
Este consejo es oro puro. Antes de modificar cualquier archivo o configuración, asegúrate de tener una copia de seguridad reciente de tu base de datos y de los archivos de tu sitio.
La mayoría de los paneles de control ofrecen herramientas de copia de seguridad automáticas, pero puedes hacer una manual:
- En cPanel: busca la sección "Archivos" → "Administrador de copias de seguridad".
- En Plesk: ve a "Sitios web y dominios" → "Copias de seguridad".
- Si usas un plugin como UpdraftPlus o BackupBuddy, puedes generar una copia desde el escritorio de WordPress (si aún puedes acceder).
[WARNING] Si no puedes acceder a WordPress, la copia de seguridad desde cPanel o Plesk es tu mejor opción. No intentes reparar la base de datos sin tener un respaldo, porque podrías perder información importante.
Causa 1: Credenciales incorrectas en wp-config.php
La causa más frecuente del error conexion wordpress es que los datos de acceso a la base de datos en el archivo wp-config.php no coinciden con los reales. Esto puede ocurrir si:
- Cambiaste la contraseña de la base de datos desde el panel de control.
- Migraste el sitio a otro servidor y no actualizaste el archivo.
- Alguien editó el archivo manualmente y cometió un error.
Cómo revisar y corregir las credenciales en cPanel
- Accede a cPanel con tus datos de usuario.
- Busca la sección "Archivos" y haz clic en Administrador de archivos.
- Navega hasta
public_html(o la carpeta donde esté instalado WordPress). - Localiza el archivo
wp-config.phpy haz clic derecho → Editar. - Busca estas líneas:
define('DB_NAME', 'tu_base_de_datos');
define('DB_USER', 'tu_usuario');
define('DB_PASSWORD', 'tu_contraseña');
define('DB_HOST', 'localhost');
- Ahora ve a cPanel → sección "Bases de datos" → Bases de datos MySQL.
- Compara los nombres de las bases de datos y los usuarios. Si no coinciden, cópialos tal cual aparecen en cPanel.
- Si no recuerdas la contraseña, puedes cambiarla desde cPanel: en "Bases de datos MySQL", junto al usuario, haz clic en "Cambiar contraseña".
- Actualiza el archivo
wp-config.phpcon los datos correctos y guarda los cambios.
Cómo hacerlo en Plesk
- Accede a Plesk y selecciona tu dominio en "Sitios web y dominios".
- Haz clic en Administrador de archivos.
- Ve a la carpeta
httpdocs(opublic_html). - Edita
wp-config.phpde la misma manera. - Para verificar las credenciales, ve a "Bases de datos" en el menú lateral.
- Ahí verás el nombre de la base, el usuario y podrás cambiar la contraseña si es necesario.
[TIP] Si usas Syspanel (nuestro panel basado en HestiaCP), el acceso es a través del puerto 2106 (por ejemplo,
https://tu-dominio.com:2106). Allí encontrarás las bases de datos en la sección correspondiente y podrás verificar las credenciales.
Causa 2: El servidor de base de datos está caído o sobrecargado
A veces el problema no es tuyo, sino del servidor. Si el servidor MySQL está caído o sobrecargado, WordPress no puede conectar. Esto es especialmente común en hosting compartido cuando otro sitio consume demasiados recursos.
Cómo comprobarlo
- Revisa si otros sitios en tu mismo hosting funcionan: si tienes varios dominios, prueba cargar uno que no use base de datos (un HTML estático, por ejemplo).
- Intenta acceder a phpMyAdmin: si puedes entrar, el servidor de base de datos está funcionando. Si no, es un problema del servidor.
- Mira el estado del servicio en tu panel:
- En cPanel: sección "Estado del servidor" o "Información del servidor".
- En Plesk: "Herramientas y configuración" → "Estado del servidor".
Qué hacer si el servidor está caído
- Espera unos minutos: a veces se recupera solo.
- Contacta al soporte de tu hosting: si el problema persiste, abre un ticket explicando que recibes el mensaje "unable to connect database wordpress" y que el servidor MySQL parece estar caído.
- Pregunta por los límites de recursos: si te dicen que el servidor está bien, pide que revisen si tu cuenta está usando demasiados recursos (CPU o memoria).
[WARNING] No intentes reiniciar el servidor MySQL desde phpMyAdmin ni desde SSH si no sabes lo que haces. Podrías afectar a otros sitios en el mismo servidor.
Causa 3: El host de la base de datos no es "localhost"
En la mayoría de los hostings compartidos, el host de la base de datos es localhost. Sin embargo, en algunos casos (especialmente en servidores con muchos sitios o en configuraciones avanzadas), el host puede ser algo como mysql.tudominio.com o una dirección IP.
Cómo averiguar el host correcto
- En cPanel: ve a "Bases de datos MySQL". Busca la línea que dice "Host" o revisa la documentación de tu proveedor.
- En Plesk: ve a "Bases de datos", selecciona tu base y busca el campo "Servidor".
- En Syspanel (puerto 2106): entra en la sección de bases de datos y verás el host indicado.
Si el host no es localhost, actualiza la línea en wp-config.php:
define('DB_HOST', 'el_host_correcto');
[TIP] Algunos hostings usan puertos específicos, como
localhost:3307. Si es tu caso, escríbelo exactamente así en el campo DB_HOST.
Causa 4: La base de datos está corrupta
Una base de datos corrupta también puede causar el base datos wordpress error. Esto suele pasar después de una migración fallida, un corte de energía o un error al actualizar plugins.
Cómo reparar la base de datos con phpMyAdmin
- Accede a phpMyAdmin desde tu panel:
- cPanel: sección "Bases de datos" → "phpMyAdmin".
- Plesk: en la base de datos correspondiente, haz clic en "phpMyAdmin".
- Syspanel (puerto 2106): busca la base de datos y haz clic en "phpMyAdmin".
- Selecciona tu base de datos en el panel izquierdo.
- Marca todas las tablas (hay un checkbox en la parte inferior).
- En el desplegable "Con seleccionados", elige Reparar tabla.
- Espera a que termine. Verás un mensaje de éxito o error.
Método alternativo: añadir una línea al wp-config.php
WordPress tiene una función de reparación automática. Solo tienes que añadir esta línea a tu wp-config.php (justo antes de la línea que dice /* That's all, stop editing! */):
define('WP_ALLOW_REPAIR', true);
Luego visita esta URL en tu navegador:
https://tudominio.com/wp-admin/maint/repair.php
Verás dos botones: "Reparar base de datos" y "Reparar y optimizar". Haz clic en el primero. Cuando termine, elimina esa línea del archivo (es muy importante hacerlo por seguridad) y guarda los cambios.
[WARNING] No dejes esa línea activa más tiempo del necesario. Cualquier persona podría acceder a la reparación de tu base de datos sin autenticación.
Causa 5: Problemas con el prefijo de las tablas
WordPress usa un prefijo para las tablas de la base de datos (normalmente wp_). Si ese prefijo no coincide con el que realmente tienen las tablas, el sitio no puede conectar.
Cómo verificar el prefijo
- Abre phpMyAdmin y selecciona tu base de datos.
- Mira los nombres de las tablas: si empiezan con
wp_, ese es el prefijo. - Revisa el archivo
wp-config.phpy busca esta línea:
$table_prefix = 'wp_';
Si no coincide, cámbialo al prefijo real que ves en phpMyAdmin.
Causa 6: Permisos incorrectos en la base de datos
A veces el usuario de la base de datos no tiene todos los permisos necesarios. Esto pasa especialmente después de migraciones o cuando se crean usuarios manualmente.
Cómo verificar y otorgar permisos
- En cPanel: ve a "Bases de datos MySQL".
- Busca la sección "Usuarios en la base de datos".
- Asegúrate de que tu usuario está asociado a la base correcta.
- Haz clic en "Administrar privilegios" y marca TODOS los privilegios (o al menos: SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, INDEX, DROP).
En Plesk:
- Ve a "Bases de datos" y selecciona tu base.
- Haz clic en el usuario asociado.
- Marca todos los permisos disponibles.
Causa 7: El archivo wp-config.php está dañado o incompleto
Si el archivo wp-config.php se ha dañado o se ha subido incompleto, WordPress no puede leer las credenciales. Esto puede pasar tras una edición incorrecta o una subida fallida por FTP.
Solución: restaurar el archivo desde una copia
- Si tienes una copia de seguridad, restaura solo el archivo
wp-config.php. - Si no tienes copia, puedes crear uno nuevo desde cero:
<?php
define('DB_NAME', 'tu_base');
define('DB_USER', 'tu_usuario');
define('DB_PASSWORD', 'tu_password');
define('DB_HOST', 'localhost');
define('DB_CHARSET', 'utf8mb4');
define('DB_COLLATE', '');
$table_prefix = 'wp_';
define('WP_DEBUG', false);
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');
require_once(ABSPATH . 'wp-settings.php');
Guarda el archivo con ese contenido y súbelo a la raíz de WordPress.
[INFO] Si no estás seguro de qué valores poner, revisa los pasos de la "Causa 1" de esta guía.
Causa 8: Conflictos con plugins o temas
Aunque es menos común, algunos plugins o temas mal configurados pueden hacer que WordPress intente conectarse a una base de datos incorrecta o usar funciones incompatibles.
Cómo solucionarlo
- Desactiva todos los plugins: renombra la carpeta
wp-content/pluginsawp-content/plugins_backupmediante FTP o el administrador de archivos. - Cambia temporalmente a un tema por defecto: renombra la carpeta
wp-content/themes/tu-temaa..._backup. WordPress usará el tema por defecto. - Si el sitio carga correctamente, el problema está en uno de esos elementos. Activa los plugins uno a uno para encontrar el culpable.
Preguntas frecuentes (FAQ)
¿Qué hago si ninguna de estas soluciones funciona?
Si has probado todo y sigues viendo el error conexion wordpress, contacta con el soporte de tu hosting. Diles que has revisado credenciales, permisos, host y que el servidor MySQL responde. Ellos pueden revisar los logs del servidor y ver si hay algo bloqueando la conexión.
¿Puedo acceder a mi base de datos desde fuera del panel?
Sí, puedes usar herramientas como MySQL Workbench o la línea de comandos, pero necesitas el host, puerto y credenciales de acceso remoto. Muchos hostings no permiten conexiones remotas por seguridad.
¿Este error puede dañar mi sitio permanentemente?
No. El error es temporal y no borra datos. Tus entradas, páginas y configuraciones siguen en la base de datos. Solo necesitas restablecer la conexión.
¿Debo cambiar mi contraseña de la base de datos por seguridad?
Si sospechas que alguien pudo haber accedido a tus credenciales, sí. Cámbiala desde el panel y actualiza wp-config.php inmediatamente.
¿Cada cuánto debo hacer copias de seguridad?
Idealmente, cada vez que actualices WordPress, plugins o temas. Como mínimo, una vez al mes. Muchos servicios de hosting ofrecen copias automáticas diarias o semanales.
Resumen final
El error "Unable to connect to database" en WordPress puede parecer aterrador, pero en el 90% de los casos se resuelve revisando las credenciales en wp-config.php o esperando a que el servidor se recupere. Sigue los pasos de esta guía en orden:
- Revisa las credenciales (causa más común).
- Verifica que el servidor MySQL esté activo.
- Comprueba el host de la base de datos.
- Repara la base de datos con phpMyAdmin.
- Ajusta permisos y prefijos.
Y recuerda: siempre haz una copia de seguridad antes de modificar nada. Con paciencia y estos pasos, tu solucionar error mysql wordpress será cosa del pasado.
[TIP] Si tu hosting usa Syspanel (HestiaCP), no olvides que el acceso se realiza por el puerto 2106. Las opciones de bases de datos están en el menú lateral y son muy similares a las de cPanel o Plesk.
