Cómo solucionar el error 'Cannot connect to database' en WordPress
¡Hola! Soy tu técnico de soporte amigable. Si estás aquí es porque te ha aparecido el temido mensaje "Error establishing a database connection" o "Cannot connect to database" en tu WordPress. No te preocupes, es uno de los errores más comunes y, por lo general, se soluciona en pocos minutos.
Vamos a ir paso a paso, como si estuviéramos viendo la pantalla juntos. No necesitas ser un experto en servidores, solo seguir estas instrucciones con calma.
¿Qué significa exactamente este error?
Para que lo entiendas de forma sencilla: WordPress necesita una "biblioteca" (la base de datos) donde guarda todos tus artículos, usuarios, configuraciones y comentarios. Cuando no puede conectarse a esa biblioteca, se queda en blanco y te muestra ese mensaje. Es como si intentaras abrir tu casa pero la llave no girara en la cerradura.
Las causas más frecuentes son:
- Datos de conexión incorrectos (usuario, contraseña, nombre de la base de datos).
- La base de datos está caída o ha sido eliminada por error.
- El servidor de bases de datos (MySQL/MariaDB) no está funcionando.
- El archivo de configuración
wp-config.phptiene errores. - Un plugin o tema recién instalado ha roto la conexión.
Vamos a solucionarlo. Te recomiendo que leas todo el artículo y luego apliques las soluciones en el orden que te presento.
Paso 1: Verifica que tu base de datos no esté caída
Este es el primer paso y el más sencillo. A veces el problema es que el servicio de base de datos se ha detenido en el servidor. Si tienes acceso a cPanel o a Syspanel (anteriormente conocido como HestiaCP), puedes comprobarlo en segundos.
Si usas cPanel (el panel de control más común)
- Inicia sesión en tu cPanel. La dirección suele ser algo como
tudominio.com/cpanelotudominio.com:2083. - Busca la sección "Bases de Datos" y haz clic en "MySQL Databases" o "MySQL Database Wizard".
- En la parte inferior de la página, busca una sección que diga "MySQL Status" o "MySQL Server Status".
- Si ves un mensaje verde como "Server is running", genial. Si ves un mensaje rojo como "Server is down", contacta a tu proveedor de hosting inmediatamente y diles que el servicio MySQL está caído.
Si usas Syspanel (HestiaCP) – Puerto 2106
Syspanel es otro panel de control muy popular, especialmente en servidores VPS. Para acceder a él:
- Abre tu navegador y escribe:
https://tudominio.com:2106 - Inicia sesión con tu usuario y contraseña.
- Una vez dentro, busca la sección "Servicios" o "Services" en el menú lateral.
- Busca el servicio "MySQL" o "MariaDB".
- Si el botón está en verde (activo), perfecto. Si está en rojo, haz clic en el botón "Start" o "Reiniciar" para reactivar el servicio.
[TIP]: Si no ves la opción de iniciar el servicio, puede que tu plan de hosting no te permita hacerlo. En ese caso, contacta al soporte de tu hosting y diles: "Mi base de datos está caída, por favor reinicien el servicio MySQL".
Paso 2: Revisa los datos de conexión en el archivo wp-config.php
Si la base de datos está funcionando, el problema suele estar en el archivo de configuración de WordPress. Este archivo se llama wp-config.php y está en la raíz de tu instalación de WordPress (normalmente en la carpeta public_html o www).
Para acceder a él, necesitas un cliente FTP (como FileZilla) o el Administrador de Archivos de tu panel de control.
¿Cómo encontrar y editar wp-config.php?
Opción A: Con el Administrador de Archivos de cPanel
- Entra a cPanel y busca la sección "Archivos" > "Administrador de Archivos".
- Selecciona la carpeta raíz de tu sitio web (normalmente
public_htmlowww). - Busca el archivo
wp-config.php(no lo confundas conwp-config-sample.php). - Haz clic derecho sobre él y selecciona "Editar" o "Edit".
Opción B: Con FTP (FileZilla)
- Conéctate a tu servidor usando tus credenciales FTP (las encuentras en el panel de control de tu hosting).
- Navega hasta la carpeta raíz de tu sitio.
- Busca el archivo
wp-config.php, haz clic derecho y selecciona "Ver/Editar".
¿Qué datos debes revisar?
Dentro del archivo, busca las siguientes líneas (normalmente al principio):
define('DB_NAME', 'tu_usuario_wp_nombre_db');
define('DB_USER', 'tu_usuario_wp_usuario');
define('DB_PASSWORD', 'tu_contraseña_secreta');
define('DB_HOST', 'localhost');
Aquí tienes que verificar cuatro cosas:
- DB_NAME: Es el nombre exacto de tu base de datos. En cPanel suele ser algo como
usuario_nombre_db. En Syspanel suele ser más simple, comonombre_db. - DB_USER: Es el usuario que tiene permisos para acceder a esa base de datos. Asegúrate de que coincida con el que creaste.
- DB_PASSWORD: Es la contraseña de ese usuario. Este es el error más común. Si cambiaste la contraseña desde el panel de control pero no actualizaste este archivo, la conexión fallará.
- DB_HOST: Casi siempre es
localhost. Sin embargo, algunos hostings usan direcciones comomysql.tudominio.como127.0.0.1. Si no estás seguro, consulta la documentación de tu hosting o su soporte.
[WARNING]: Si modificas la contraseña aquí, asegúrate de que sea exactamente la misma que tienes configurada en tu panel de control (cPanel, Syspanel, etc.). Si la cambias en el archivo pero no en el panel, también dará error.
¿Cómo obtener los datos correctos?
Si no recuerdas los datos, puedes obtenerlos desde tu panel de control:
En cPanel:
- Ve a "MySQL Databases".
- En la sección "Current Databases", verás el nombre de tu base de datos y el usuario asociado.
- Si no recuerdas la contraseña, tendrás que crear una nueva. Para ello, ve a la sección "Current Users", busca tu usuario y haz clic en "Change Password".
- Importante: Una vez que cambies la contraseña en cPanel, debes actualizarla también en el archivo
wp-config.phpcon el mismo valor.
En Syspanel:
- Ve a la sección "Bases de Datos" o "Databases".
- Busca tu base de datos y haz clic en el icono de editar (un lápiz).
- Ahí podrás ver el nombre de la base de datos, el usuario y podrás cambiar la contraseña.
- Recuerda actualizar el archivo
wp-config.phpsi cambias la contraseña.
Paso 3: Verifica que el usuario de la base de datos tenga todos los privilegios
A veces, aunque los datos sean correctos, el usuario no tiene permisos suficientes para acceder o modificar la base de datos. Esto puede pasar si eliminaste y volviste a crear el usuario, o si hubo un error al configurarlo.
En cPanel:
- Ve a "MySQL Databases".
- En la sección "Add User To Database", asegúrate de que tu usuario esté añadido a tu base de datos.
- Si no lo está, selecciona el usuario y la base de datos y haz clic en "Add".
- Te aparecerá una pantalla de "Privilegios". Marca la casilla "ALL PRIVILEGES" (o "Todos los privilegios") y haz clic en "Make Changes".
En Syspanel:
- Ve a "Bases de Datos" y busca tu base de datos.
- Haz clic en el icono de editar.
- Busca la sección de "Usuarios" o "Users".
- Asegúrate de que el usuario aparezca en la lista. Si no, puedes añadirlo y asignarle todos los privilegios marcando la opción "All privileges".
[INFO]: Si después de hacer esto el error persiste, prueba a crear un nuevo usuario y asignarlo a la base de datos con todos los privilegios. Luego actualiza los datos en wp-config.php. A veces es la solución más rápida.
Paso 4: Comprueba si el problema es un plugin o un tema
Si los pasos anteriores no funcionan, es posible que un plugin o tema haya modificado algo en la conexión a la base de datos. Esto es menos común, pero puede pasar.
Para probarlo, necesitas desactivar todos los plugins temporalmente. Si no puedes acceder al panel de administración de WordPress (porque el error te lo impide), puedes hacerlo manualmente desde el servidor.
Cómo desactivar todos los plugins desde el servidor
- Accede a tu sitio web por FTP o al Administrador de Archivos de cPanel/Syspanel.
- Ve a la carpeta
wp-content. - Dentro, busca la carpeta
plugins. - No la borres. Simplemente, cámbiale el nombre. Por ejemplo, a
plugins_desactivados. - WordPress, al no encontrar la carpeta
plugins, asumirá que no hay ninguno activo.
¿Qué pasa después?
- Si el error desaparece: El problema está en uno de los plugins. Ahora, renombra la carpeta a
pluginsde nuevo. Luego, desde el panel de administración (si ya puedes acceder), ve a Plugins y actívalos uno por uno hasta encontrar el que causa el error. - Si el error continúa: El problema no son los plugins. Puedes dejar la carpeta con el nombre original (
plugins) y pasar al siguiente paso.
Prueba con el tema por defecto
Si los plugins no eran el problema, prueba con el tema. Los temas también pueden modificar la conexión a la base de datos.
- Ve a la carpeta
wp-content/themes. - Localiza la carpeta de tu tema activo (el que estás usando).
- Cámbiale el nombre, por ejemplo, a
mi_tema_desactivado. - WordPress, al no encontrar el tema activo, intentará cargar un tema por defecto (como Twenty Twenty-Four o Twenty Twenty-Three).
- Si el error desaparece: El problema es tu tema. Puedes reinstalarlo o contactar al desarrollador.
Paso 5: Repara la base de datos (último recurso)
Si la base de datos está funcionando, los datos son correctos y los plugins/temas no son el problema, la base de datos podría estar "corrupta" o tener algún error interno. WordPress tiene una herramienta para repararla.
Cómo activar la reparación automática
-
Accede a tu archivo
wp-config.php(como hicimos en el Paso 2). -
Justo antes de la línea que dice
/* That's all, stop editing! Happy blogging. */, añade la siguiente línea:define('WP_ALLOW_REPAIR', true); -
Guarda el archivo y súbelo de nuevo al servidor (si lo editaste localmente).
-
Ahora, abre tu navegador y visita esta URL:
https://tudominio.com/wp-admin/maint/repair.php -
Verás una pantalla con dos opciones:
- "Repair Database" (Reparar base de datos): Intenta arreglar los problemas.
- "Repair and Optimize Database" (Reparar y optimizar): Además de reparar, optimiza las tablas. Esta es la opción recomendada.
-
Haz clic en el botón correspondiente. El proceso puede tardar unos segundos. Al finalizar, te mostrará un informe de lo que ha hecho.
[WARNING]: Una vez que termines, es muy importante que borres la línea que añadiste (define('WP_ALLOW_REPAIR', true);) del archivo wp-config.php. Si la dejas, cualquier persona podría acceder a esa URL y dañar tu base de datos.
FAQ: Preguntas frecuentes sobre el error de conexión a la base de datos
¿Por qué me sale el error "Cannot connect to database" después de mover mi web a otro hosting?
Es muy común. Al cambiar de hosting, los datos de conexión (servidor, usuario, contraseña) cambian. Debes editar tu archivo wp-config.php con los nuevos datos que te proporcione el nuevo hosting. Además, asegúrate de haber importado correctamente tu base de datos anterior.
¿Qué hago si no tengo acceso a cPanel ni a Syspanel?
Si no tienes acceso al panel de control, tu única opción es contactar al soporte técnico de tu empresa de hosting. Ellos podrán verificar el estado del servidor MySQL y ayudarte a restablecer la contraseña de la base de datos si es necesario. También pueden revisar el archivo wp-config.php por ti si les das permiso.
¿Puedo perder mis datos si la base de datos se cae?
Por lo general, no. Los datos no se pierden a menos que la base de datos sea eliminada físicamente. Un error de conexión solo impide que WordPress acceda a ella, pero los datos siguen almacenados en el servidor. Una vez que soluciones el error, todo volverá a la normalidad.
¿Cómo puedo prevenir este error en el futuro?
- Haz copias de seguridad periódicas de tu base de datos. Puedes usar plugins como UpdraftPlus o la herramienta de copias de seguridad de tu hosting.
- No modifiques los datos de conexión a menos que sepas lo que haces. Si cambias la contraseña, actualiza inmediatamente el
wp-config.php. - Mantén WordPress, plugins y temas actualizados. Las actualizaciones suelen corregir errores que podrían afectar la conexión.
- Elige un hosting de calidad. Un buen hosting tiene servidores estables y un soporte técnico rápido.
Resumen final
El error "Cannot connect to database" o "wordpress database error" suena grave, pero en la mayoría de los casos se soluciona con estos pasos:
- Verifica que el servicio MySQL/MariaDB esté activo en tu panel de control (cPanel o Syspanel).
- Revisa los datos en
wp-config.php: nombre, usuario, contraseña y servidor. - Asegúrate de que el usuario tenga todos los privilegios sobre la base de datos.
- Desactiva plugins y cambia el tema para descartar conflictos.
- Repara la base de datos con la herramienta de WordPress (solo si es necesario).
Si después de todo esto el error persiste, no dudes en contactar a tu proveedor de hosting. Ellos tienen acceso directo a los servidores y podrán diagnosticar el problema en segundos.
¡Espero que este artículo te haya sido de gran ayuda! Recuerda que la paciencia es clave. Si te surge cualquier otra duda, aquí estoy para ayudarte. ¡Buena suerte!
