Si buscas un Hosting de calidad para Wordpress o WooCommerce, te recomendamos FactoriaDigital.com. Puedes probar 1 mes gratis y sin compromiso.

  • BUSCAR

    ¿BUSCAS DESARROLLADOR PARA TU WEB?

    Publica tu proyecto gratis, recibe propuestas y encuentra lo que necesitas fácilmente. Sin ninguna comisión. Publicar proyecto
    (GRATIS)
  • DESARROLLADORES

    ¿ERES DESARROLLADOR WORDPRESS?

    Apúntate como profesional, manda tus propuestas y consigue clientes fácilmente. ¡Es 100% gratis! Registro profesional
    (GRATIS)
  • HOSTING

    ¿Quieres un hosting de calidad?

    Hosting especializado en WordPress y WooCommerce, con soporte técnico de expertos y prueba gratis VER HOSTING
    (PRUEBA 1 MES GRATIS)

Error al establecer conexión con base de datos en WordPress (SOLUCIÓN 2021)

Última actualización en octubre 2024
PresupuestoWPErrores WordPressError al establecer conexión con base de datos en WordPress (SOLUCIÓN 2021)

No sólo es el error más común sino también el más temido en la comunidad WordPress. Cuando este error aparece en tu sitio web, es todo lo que tu y tus visitantes pueden ver.

Cada segundo que pierdas arreglando este error puede significar la perdida de cientos de suscriptores potenciales e incluso clientes leales.

Si quieres tener ayuda de expertos en WordPress para solucionar este error y otros que te puedan surgir, te recomendamos el Hosting WordPress de FactoríaDigital. Incluye soporte técnico de WordPress en el precio y puedes contactar con sus expertos por teléfono, chat o email. Ahorra tiempo y evita problemas técnicos que afecten a tu negocio.

Si usted estás viendo este error en su sitio web, no entres en pánico.

Este error es más común de lo que crees y no significa que hayas perdido tus datos. Puede que en algunos casos ocurra, pero en la mayoría, no.

Sabemos que, lo que sí quieres, es que este error desaparezca lo antes posible. Así que, sin más preámbulos, aquí está todo lo que deberías saber sobre este error y cómo solucionarlo:

Qué causa el «Error al establecer conexión con base de datos» en WordPress

En pocas palabras, este error significa que el código de tu sitio web no es capaz de conectarse al servidor de la base de datos.

Tu base de datos es donde se almacena todo, incluyendo detalles sobre los usuarios, entradas y páginas.

Hay muchas razones por las que podrías ver esta pantalla de error. La más común es la configuración incorrecta de la base de datos en tu archivo wp-config.php.

A veces puede ocurrir después de instalar una nueva actualización o de restaurar una copia de seguridad.

Si este es este el caso, arreglar el error es tan simple como reemplazar los detalles de configuración incorrectos por los correctos.

Pero esa no es la única razón por la que podrías estar viendo este error. He aquí algunas otras razones:

  1. Tu base de datos ha sido corrompida. Estas sí que son malas noticias. Puede significar que has perdido algunos datos. Esto se puede deber a malware, cambios en algún archivo o alguna actualización de un plugin, tema o el propio core de WordPress.
  2. El servidor MySQL que aloja tu base de datos no responde. Tal vez, tu servicio de hosting o almacenamiento web está reparando el servidor o haciendo mantenimiento. En este caso, no hay mucho que puedas hacer aparte de esperar a que el servidor MySQL vuelva a estar en línea.
  3. Hay algún error en el hosting o está recibiendo demasiadas peticiones. Si has probado todo lo que contiene esta guía y aún no puedes poner en marcha tu sitio web, es probable que se trate de un error en el hosting o almacenamiento web donde está tu sitio web. Tu mejor apuesta será llamar al proveedor y preguntarle si sabe lo que está causando el problema.

Cualquiera que sea la causa de este error, te guiaremos a través de la reparación en esta guía.

¿Perderé datos (publicaciones, páginas y comentarios)?

Esta es la primera pregunta que viene a la mente cuando ves este error.

Mientras que en la mayoría de los casos este error simplemente significa que WordPress no es capaz de conectarse al servidor, en muchos casos, puede significar que tu base de datos ha sido corrompida.

Si estás viendo el error sólo porque WordPress no puede conectarse a la base de datos en el servidor, entonces no tienes que preocuparte de ningún tipo de pérdida de datos. Esto se debe a un error de configuración y puede solucionarse en 10 minutos.

Por otro lado, si tu base de datos ha sido corrompida, puede significar que has perdido algunos datos. Pero ten en cuenta que, en la mayoría de los casos, sólo se necesitarán datos de configuración para que WordPress funcione correctamente.

En la mayoría de los casos, tu contenido está completamente seguro y no se perderá, incluso si tu base de datos se ha dañado.

Si no sabes si tu base de datos ha sido corrompida o no, no te preocupes, yo te guiaré en la siguiente sección.

Cómo solucionar «Error al establecer conexión con base de datos»

Repasaremos algunas de las razones por las que puedes estar viendo este error y cómo arreglarlo:

Base de datos corrupta

La razón por la que estás viendo este error puede ser que tu base de datos ha sido corrompida. Este no suele ser el caso más común, pero siempre debes empezar por buscarlo.

Para comprobar si tu base de datos ha sido dañada, intenta navegar a la carpeta wp-admin de tu sitio web:

http://tu-dominio.com/wp-admin/

Si ves el mismo error «Error al establecer conexión con base de datos», quiere decir que tu base de datos está bien y puede pasar al siguiente método para reparar el error.

Pero si estás viendo un error que diferente y se parece a «Una o más tablas de base de datos no están disponibles. La base de datos puede necesitar ser reparada», entonces tenemos trabajo que hacer.

Verás este mensaje cuando WordPress no pueda encontrar una tabla de una base de datos importante o algunos datos importantes en la base de datos.

Si tu base de datos está dañada, tendrás que repararla. Aquí te contamos cómo:

  • Inicie sesión en cPanel y abre el Administrador de Archivos:

WordPress cPanel File Manager

  • Navega a tu directorio de instalación de WordPress:

directorio instalación wordpress

  • Busque el archivo wp-config.php y añade el siguiente código al final del texto del archivo: definir (‘WP_ALLOW_REPAIR’ , true);

Lo que esta línea de código hará es habilitar la funcionalidad de Reparación de Base de Datos que viene incorporada en WordPress.

Una vez que hayas agregado este código a tu archivo wp-config, visita la URL del reparador:

http://www.tu-empresa.com/wp-admin/maint/repair.php

Ahora, verás la siguiente pantalla:
reparar y optimziar base de datos
Puedes elegir cualquiera de las dos opciones. Pero ten en cuenta que si eliges Reparar y Optimizar te llevará un poco más de tiempo que sólo Reparar.

Esta página de reparación no requiere que un usuario inicie sesión porque si tu base de datos está dañada, no podrás iniciar sesión.

Por lo tanto, una vez que el proceso de reparación haya terminado, asegúrate de eliminar la línea de código que acaba de agregar a su archivo wp-config.php.

Si esto no corrige el error, continúa con el siguiente paso:

Credenciales de base de datos incorrectas

La mayoría de las veces, este error se debe a que las credenciales de inicio de sesión en la base de datos son incorrectas.

Si este es el caso, sólo tienes que reemplazar las credenciales incorrectas por la correcta.

Hay muchas razones por las que las credenciales de tu base de datos pueden haberse vuelto incorrectas.

Una de las razones más comunes de todas es que TU has realizado cambios en el nombre de la base de datos o en las credenciales de inicio de sesión.

Otra razón puede ser que hayas migrado de un hosting o alojamiento web a otro y las viejas credenciales de inicio de sesión ya no son válidas.

Para comprobar si las credenciales de inicio de sesión de la base de datos son incorrectas:

  • Inicia sesión en su cPanel y abre el Administrador de archivos:

WordPress cPanel File Manager

  • Navega a tu directorio de instalación de WordPress:

directorio instalación wordpress

  • Edita el archivo wp-config.php en la línea donde veas:
/** The name of the database for WordPress */
define( ‘DB_NAME’, ‘database_name_here’ );
/** MySQL database username */
define( ‘DB_USER’, ‘username_here’ );
/** MySQL database password */
define( ‘DB_PASSWORD’, ‘password_here’ );
/** MySQL hostname */
define( ‘DB_HOST’, ‘localhost’ );

En el código anterior, hay cuatro cosas que WordPress usa para acceder y hacer cambios a tu base de datos:

  • DB_NAME: Es el nombre de tu base de datos. Esto podría haberse convertido en incorrecto si has cambiado el nombre de tu base de datos y se has olvidado de actualizarla en este archivo.
  • DB_USER: Es el nombre de usuario del usuario de la base de datos que tiene acceso a la base de datos.
  • DB_PASSWORD: Es la contraseña del usuario de la base de datos.
  • DB_HOST: Es la dirección de tu servidor donde está alojada la base de datos MySQL. Esto puede llegar a ser incorrecto al cambiar de hosting o alojamiento web.

Para comprobar si estas credenciales de inicio de sesión no son válidas, crea un nuevo archivo llamado db_test.php en el directorio de instalación de WordPress y coloca el siguiente código en él:

<?php
$dbTest = mysqli_connect(“DB_HOST”, “DB_USER”, “DB_PASSWORD”, “DB_NAME”);
if (mysqli_connect_errno()) {
die(“Invalid Database Login Credentials“);
}

echo “Database login credentials are valid!”;

En el código anterior, sustituye DB_HOST, DB_USER, DB_PASSWORD y DB_NAME por las mismas credenciales que en el archivo wp-config.

Una vez hecho esto y subido al servidor, visita:

http://tu-dominio.com/db_test.php

Si ves «Las credenciales de inicio de sesión de la base de datos son válidas«, continúa con el siguiente paso.

Por otro lado, si está viendo «Invalid Database Login Credentials», significa que tenemos trabajo por hacer.

En lugar de comprobar si tu nombre de usuario y contraseña son correctos, podemos crear un nuevo usuario de MySQL y permitir que ese usuario acceda a la base de datos.

Para crear un nuevo usuario desde tu cPanel:

  • Selecciona «Bases de datos MySQL».

base datos mysql wordpress

  • Desplázate hasta la sección Añadir nuevo usuario:

como crear nuevo usuario de base de datos mysql wordpress

  • Elije un nombre de usuario y una contraseña para el nuevo usuario que estamos creando.
  • Toma nota de estas credenciales, porque las pondremos en el archivo wp-config.php.
  • Haz clic en el botón Crear usuario.
  • Haz clic en el enlace «Volver» una vez que el usuario haya sido creado.

usuario base de datos mysql creado

  • Ve a la sección Agregar usuario a la base de datos en la misma página en la que has creado el nuevo usuario.

Añadir nuevo usuario a la base de datos

  • Selecciona el nombre de usuario del nuevo usuario y el nombre de tu base de datos de WordPress.
  • Haz clic en Añadir usuario para añadir el nuevo usuario a la base de datos.

Reemplaza las credenciales de inicio de sesión de la base de datos antigua con las nuevas en el archivo wp-config y comprueba tu sitio web.

Si sigues viendo el mismo error, puede ser porque su valor DB_HOST no es válido. Esta es la dirección de tu servidor de base de datos. Si WordPress no conoce este valor, no puede conectarse.

El valor DB_HOST variará de un hosting a otro. La documentación de WordPress tiene una lista extensa de valores DB_HOST para la mayoría de los hosting web.

Si sigues viendo el mismo error, probablemente se deba a un error en tu servidor MySQL. En este caso, tu mejor apuesta para arreglarlo es llamar a tu proveedor de alojamiento web.

Corregir archivos de WordPress dañados

Los archivos PHP que componen WordPress pueden haber sido corrompidos en tu sitio web. Si ese es el caso, tendrás que reemplazarlos con otros que no lo están.

Puede sonar como una tarea desalentadora, pero no lo es. No, no tienes que reemplazar cada archivo individual.

Todo lo que tienes que hacer es descargar la última versión de WordPress y subirlos a tu servidor:

  • Visita la página de descarga de WordPress y haz clic en el botón de descarga.

descargar WordPress

  • Después de descargar el archivo, extráelo y elimine el archivo wp-config.php y toda la carpeta wp-content:

borrar archivo wp-config php

  • Sube los restantes archivos y carpetas a tu directorio de instalación de WordPress a través de FTP
  • Haz clic en Reemplazar cuando se te pida que elijas entre la opción Saltar y Reemplazar.

Este método reemplaza los viejos archivos dañados por otros nuevos. Si sigues viendo el mismo error, continúe con el siguiente paso.

Restaurar la última copia de seguridad

Tu sitio probablemente estaba funcionando bien, al menos una semana antes de que apareciera el error, por lo que, si restauras la copia de seguridad de tu sitio, es posible que vuelvas a verlo sin problemas.

Si estás usando un servicio como VaultPress o si tu plan de alojamiento web viene con Copias de seguridad automáticas, sólo tienes que hacer clic en un botón y restaurar los archivos y la base de datos de tu sitio web de tus versiones anteriores.

Nota: Antes de restaurar la última copia de seguridad, ten en cuenta que perderás todos los datos que se crearon entre la fecha de la copia de seguridad y el día de hoy.

 

NO tomes la palabra de tu proveedor en cuento a copias de seguridad diarias. La mayoría de las copias de seguridad diarias creadas por los administradores web han sido corrompidas y pueden dejar tu sitio web en un estado aún peor. Antes de restaurar una copia de seguridad, realiza una copia de seguridad del estado actual de su sitio web. Lea más sobre los problemas de copia de seguridad y la mejor solución.

La URL de tu sitio ha cambiado en la base de datos

Hay veces en que la URL de tu sitio web puede cambiar en la base de datos. Esto puede ocurrir durante una actualización o cuando se realizan cambios en la configuración de WordPress.

Puedes revisar la tabla de tu base de datos para ver si este es el caso o puedes simplemente ejecutar la consulta UPDATE SQL en PHPMyAdmin o en MySQL, para actualizar el campo siteurl en la base de datos de WordPress:

UPDATE wp_options SET option_value=’http://tu-dominio.com’ WHERE option_name=’siteurl’;

Antes de ejecutar la consulta SQL anterior en PHPMyAdmin o en su consola MySQL, asegúrate de reemplazar tu-dominio.com con la URL de tu sitio y http por https si su sitio utiliza un SSL.

Servidor de recibimiento

A veces obtendrás mucho tráfico inesperadamente y tu servidor de alojamiento web deja de responder a las solicitudes.

En primer lugar, ralentizará tu sitio web y, por otra parte, mostrará un error que establece una conexión de base de datos a los usuarios que intentan visitar su sitio web.

Esto ocurre principalmente en entornos de servicio de hosting o almacenamiento web compartido o VPS. Puedes ponerte en contacto directamente con el soporte de tu proveedor de alojamiento web y comprobar este problema.

En caso de que desee solucionar este error tu mismo en el servidor, te recomendamos que compruebes algunas cosas en tu servidor MySQL para rastrear el problema:

  • Intenta acceder a otros sitios web alojados en el mismo servidor y fijate si funcionan bien o no. Si otros sitios web también muestran el mismo error, entonces su servidor MySQL está dañado.
  • Cuando no tengas otros sitios web en el mismo servidor para probar, necesitarás ir a phpMyAdmin en su cPanel y conectarse a tu base de datos. Al conectarse, tendrá que comprobar si tienes permisos suficiente o no.
  • Añade un nuevo archivo, testconnection.php, con este código:
<?php
# Fill our vars and run on cli
# $ php -f db-connect-test.php

$dbname = 'name';
$dbuser = 'user';
$dbpass = 'pass';
$dbhost = 'host';

$link = mysqli_connect($dbhost, $dbuser, $dbpass) or die("Unable to Connect to '$dbhost'");
mysqli_select_db($link, $dbname) or die("Could not open the db '$dbname'");

$test_query = "SHOW TABLES FROM $dbname";
$result = mysqli_query($link, $test_query);

$tblCnt = 0;
while($tbl = mysqli_fetch_array($result)) {
  $tblCnt++;
  #echo $tbl[0]."<br />\n";
}

if (!$tblCnt) {
  echo "There are no tables<br />\n";
} else {
  echo "There are $tblCnt tables<br />\n";
} 
?>

Tendrás que reemplazar el nombre de usuario y la contraseña con sus credenciales de inicio de sesión en la base de datos.

Si realizas una prueba y conecta, significa que no hay ningún problema con los permisos. Entonces, tendrás que comprobar, en tu archivo wp-config.php, si hay algún error ortográfico en el nombre de usuario o contraseña.

Si tu conexión falla, es muy probable que tu servidor tenga problemas, pero no puede decirse que tu servidor MySQL esté caído.

También es posible que tu usuario de base de datos no tenga suficientes permisos para acceder al servidor. Por lo que necesitarás ponerte en contacto con tu proveedor de alojamiento web y pedirle que le den más permisos para que puedas comprobar si hay errores y resolver el problema.

Aún hay muchas más razones por las que podrías obtener este error y tendrás que solucionar los problemas de diferentes maneras, por ello, si nada de lo que hemos visto te ha funcionado, sigue leyendo.

¿Nada funcionó? Esto es lo que debes hacer

Si ninguno de los consejos de este artículo ha funcionado para que este horrible error desaparezca de tu pantalla cuando intentas ingresar en tu sitio, la única manera de poner en marcha tu sitio web es contratar a un desarrollador profesional de WordPress.

Puedes contratar a un freelance o solicitar servicios especializados para WordPress de PresupuestoWP.com

Estos servicios no sólo te ayudarán a poner en marcha tu sitio web, sino que también le proporcionarán soporte para problemas y problemas futuros con WordPress.

Como puedes ver, hay muchas razones por las que tu sitio de WordPress puede mostrarte este error, pero la mayoría de estas razones se pueden arreglar en 10 minutos o menos.

Tienes un proyecto y ...

¿Buscas profesionales?


Publicar proyecto
(GRATIS)


Sin compromiso ni registros • Profesionales destacados
Eres un profesional y ...

¿Buscas clientes?


Suscribirse
(GRATIS)



100% Gratis • Sin cuotas ni comisiones

¿Quieres un hosting de calidad para alojar tu web WordPress o tu tienda WooCommerce?

Si buscas un hosting realmente bueno para WordPress o WooCommerce, prueba FactoriaDigital:

FactoriaDigital

FactoríaDigital, pioneros en hosting para WordPress desde 2010

Hosting WordPressHosting WooCommerce