WordPress

Cómo reparar “Error establishing a database connection” en WordPress

como-reparar-error-establishing-a-database-connection-en-wordpress

En esta guía, analizaremos varios métodos para corregir el error al establecer una conexión con la base de datos en WordPress (Error establishing a database connection). Al final, sabrás todas las causas y soluciones de este error de WordPress.

En general, WordPress es una combinación de dos lenguajes maravillosos: PHP y MySQL. Entonces, cada vez que abres una página web, esta es construida en ese momento. El código PHP dispara las consultas para acceder a la base de datos MySQL con el fin de obtener toda la información necesaria que se necesita para entregar una página web al usuario. De esta forma, se activa una consulta para escribir el título de la publicación, otra para obtener el nombre del autor, etc.

Por lo tanto, cada vez que aparece un mensaje de error que indica Error establishing a database connection (Error al establecer una conexión con la base de datos), simplemente significa que debido a algunas razones o problemas, tu código PHP no pudo establecer una conexión con la base de datos MySql y no pudo obtener todos los detalles necesarios para construir una página.

error-esatablishing-database-connection-ejemplo

Existen varios motivos por los cuales tu sitio web puede estar teniendo problemas al conectarse a tu base de datos. Se pueden categorizar ampliamente en tres categorías principales:

  1. Tus credenciales de inicio de sesión para acceder a la base de datos MySQL son incorrectas. Esto es obvio. Si recientemente has cambiado tu nombre de usuario y contraseña de tu base de datos, pero de alguna manera no los has actualizado en tu código PHP, o tu base de datos de WordPress usa un conjunto diferente de credenciales que las de tu cuenta de hosting, tu sitio web de WordPress definitivamente tendrá problemas para conectarse con tu base de datos y arrojará un error.
  2. Problema con uno o más plugins. A veces, un plugin problemático también puede ser la causa raíz de que WordPress tenga problemas para establecer una conexión.
  3. Tu servidor de base de datos está caído. Existe la posibilidad de que tu servidor de base de datos esté caído o tenga dificultades debido a algunos problemas que tu empresa de hosting web podría enfrentar. O bien, tu sitio web enfrenta repentinamente una gran cantidad de tráfico. En tales casos, tu sitio web tendrá problemas para establecer una conexión con tu base de datos y, a su vez, arrojaría un error.

En este tutorial de WordPress, aprenderás a averiguar la causa del problema “Error establishing a database connection” en WordPress y cómo solucionarlo.

Lo que necesitarás

Antes de comenzar con esta guía, necesitarás lo siguiente:

  • Acceso al panel de control de la cuenta de hosting donde está instalado WordPress
  • Conocimiento básico de la estructura de archivos de WordPress

Paso 1: Determinar dónde se produce el error

Lo primero que deberías hacer es asegurarte de que estás obteniendo el mismo error tanto en el front-end del sitio tusitio.com como en el back-end del sitio tusitio.com/wp-admin (reemplaza tusitio.com con la URL de tu página principal de WordPress). Si el mensaje de error es el mismo en ambas páginas – Error establishing a database connection, entonces sigue con el Paso 2.

Pero si tu sitio web arroja un error ligeramente diferente cuando intentas iniciar sesión: One or more database tables are unavailable. The database may need to be repaired, entonces es posible que debas reparar tu base de datos.

Afortunadamente, hay una función incorporada en WordPress que puede ayudarte a reparar tu base de datos. Para hacer uso de esta función, todo lo que necesitas es tener acceso al archivo wp-config.php que contiene la configuración de instalación y la configuración de tus archivos de WordPress.

Busca el archivo wp-config.php en tu directorio raíz de WordPress.

wp-config-ubicacion-de-archivo

Abre el archivo wp-config.php y agrega la siguiente línea de código antes de /* That's all, stop editing! Happy blogging. */:

define( 'WP_ALLOW_REPAIR', true );

Guarda los cambios. Ahora, deberías poder optimizar y reparar tu base de datos yendo a tusitio.com/wp-admin/maint/repair.php (simplemente reemplaza tusitio.com con tu URL real).

wordpress-reparar-base-de-datos

Debería aparecer una pantalla similar a la mostrada arriba. Hay dos opciones: reparar la base de datos (Repair Database) y reparar y optimizar la base de datos (Repair and Optimize Database). Puedes elegir cualquiera de ellas. Sin embargo, si eliges reparar primero tu base de datos, la optimización tomará más tiempo. Por otro lado, al elegir reparar y optimizar, tanto la reparación como la optimización ocurrirán al mismo tiempo.

Es importante señalar aquí que la página de reparación de la base de datos no es segura y cualquiera puede acceder a la URL sin tener que iniciar sesión. Por lo tanto, tan pronto termines con el proceso de reparación, asegúrate de eliminar la línea de código agregada al archivo wp-config.php.

Se recomienda mantener abierto el archivo wp-config.php y asegurarse de que se resuelva el error. Si no, usaremos este archivo en el siguiente paso.

Paso 2 – Verificar la configuración de conexión de la base de datos en wp-config.php

Si el paso anterior no resolvió el problema, es el momento para que verifiques la configuración de la base de datos en tu archivo wp-config.php.

En este paso, comprobaremos las credenciales de inicio de sesión de tu base de datos. Necesitarás el archivo wp-config.php una vez más. Si lo has cerrado por algún motivo después del paso anterior, inicia sesión en el Administrador de archivos o la cuenta FTP, y busca los archivos núcleo de WordPress (core files) y localiza tu archivo wp-config.php. Abre el archivo y verifica las credenciales de inicio de sesión de tu base de datos proporcionadas cerca de la parte superior del archivo. Debería verse algo como esto:

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'u694443746_aujev');
/** MySQL database username */
define('DB_USER', 'u694443746_vaven');

/** MySQL database password */
define('DB_PASSWORD', 'zuWupEXEdu');

/** MySQL hostname */
define('DB_HOST', 'mysql');

/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');

/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');

Si te desplazas un poco hacia abajo, también verás una línea que define tu prefijo de base de datos MySQL:

$table_prefix = 'wp_';

WordPress necesita la siguiente información para acceder a tu base de datos:

  1. El nombre de la base de datos (DB_NAME)
  2. El nombre de usuario para iniciar sesión (DB_USER)
  3. La contraseña para iniciar sesión (DB_PASSWORD)
  4. El host de la base de datos (DB_HOST)
  5. El prefijo de la base de datos (table_prefix)

Si alguno de estos valores no es correcto, tu sitio web tendrá problemas para establecer la conexión.

La mejor y más directa manera para garantizar que los detalles sean correctos es compararlos con los detalles de la base de datos MySQL. Para hacer esto, deberás ir a la sección de Bases de datos MySQL del panel de control de tu cuenta de hosting. Los pasos siguientes muestran cómo hacer esto en el panel de control de Hostinger y cPanel.

Panel de control de Hostinger

sección bases de datos MySQL Hostinger

Cuando estés en la pantalla de Bases de datos MySQL, busca la sección Lista de bases de datos y usuarios actuales de MySQL. Esta enumera todas las bases de datos y usuarios que están listos para usarse en tu sitio web. La información que buscamos se encuentra en las columnas de Base de datos MySQL, Usuario MySQL y MySQL Host. Nuestro objetivo es hacer coincidir los valores en estas tres columnas con los valores de DB_NAME, DB_USER y DB_HOST en el archivo wp-config.php.

verificar-si-datos-mysql-igual-que-wp-config

Simplemente asegúrate de que los valores de wp-config.php coincidan con los valores listados en la sección de Bases de datos MySQL de Hostinger. De lo contrario, actualiza tu archivo wp-config.php con los valores correctos y guarda los cambios.

Vuelve a cargar tu sitio web de WordPress y si aún recibes un error de conexión a la base de datos, es posible que la contraseña para tu contraseña de usuario MySQL y el valor de la contraseña en tu wp-config.php no coincidan. En este caso, solo tienes que restablecer la contraseña de usuario de MySQL. Puedes hacer esto presionando el ícono + cerca de tu base de datos MySQL y presionando el botón Cambiar Contraseña.

cambiar-contraseña-mysql

Ahora actualiza wp-config.php con la nueva contraseña y vuelve a cargar tu sitio de WordPress.

Si no pasó nada, es probable que WordPress esté usando un prefijo de tabla incorrecto. Puedes verificar esto yendo a phpMyadmin y abriendo tu base de datos de WordPress. Mira el prefijo de la tabla y asegúrate de que coincida con el valor en el archivo wp-config.php.

reparar-error-establishing-a-database-connection-prefijo-tabla

Si aún obtienes el mismo error de conexión de MySQL, continúa con el Paso 3.

cPanel

mysql-en-cpanel

Cuando estés en la pantalla de Bases de datos MySQL, busca la sección de Bases de datos actuales (Current databases). Esta enumera todas las bases de datos y usuarios que están listos para usarse en tu sitio web. La información que buscamos se encuentra en las columnas de Base de datos y Usuarios con privilegios. Nuestro objetivo es hacer coincidir los valores en estas dos columnas con los valores DB_NAME y DB_USER en el archivo wp-config.php.

cpanel-bases-de-datos-actuales-coincide

Puede que no sea necesario completar todas las acciones a continuación para restablecer la conectividad de WordPress, por lo tanto, al completar cada acción, asegúrate de volver a cargar tu sitio web de WordPress para verificar si el error se ha resuelto.

Comprobar el nombre de la base de datos

cpanel-bases-de-datos-actuales

Comenzaremos con el valor del nombre de la base de datos. Si la sección de Bases de datos actuales no muestra la base de datos que se muestra en el archivo wp-config.php como valor de DB_NAME, la base de datos no se encuentra. Esto generalmente sucede cuando un sitio web se transfiere a un nuevo proveedor de hosting y la base de datos no se ha transferido completamente. Recomendamos ponerse en contacto con el equipo de soporte de tu nuevo proveedor de hosting y solicitarles que transfieran/restauren completamente tu base de datos de WordPress. Esto debería implicar la creación de una nueva base de datos y llenar sus contenidos con tu copia de seguridad de la base de datos de WordPress.

Comprobar el nombre de usuario de inicio de sesión de la base de datos

En segundo lugar, verificamos la columna Usuarios privilegiados. En este ejemplo, podemos notar rápidamente que la columna Usuarios privilegiados contiene un nombre de usuario diferente al que se muestra en el archivo wp-config.php; a este último le falta un ‘0’ al final. Una vez que actualizamos el valor DB_USER de somuvnet_wp67 a somuvnet_wp670, corregimos el nombre de usuario incorrecto. Asegúrate de volver a cargar tu sitio web de WordPress para comprobar si esto ha resuelto el error.

Agregar un usuario privilegiado faltante

Sin embargo, al realizar una transferencia de WordPress a otro proveedor de hosting o al instalar WordPress manualmente, uno puede olvidarse de agregar un usuario a la base de datos. Tal problema generalmente surge en paneles de control que soportan privilegios de usuario avanzados. En tal caso, verás un campo de Usuarios privilegiados vacío.

usuario-con-privilegios-vacío

Para solucionar esto, tenemos que usar la sección Agregar usuario a la base de datos que se encuentra en la parte inferior de la pantalla:

administración de usuario

  1. El primer paso es ubicar la sección Usuarios actuales y ver si nuestro valor DB_USER del archivo wp-config.php se encuentra aquí.
  2. Si aparece en la lista, elegimos ese usuario en el campo desplegable Agregar usuario a la base de datos -> Usuario, seleccionamos la base de datos respectiva en el campo desplegable Base de datos y hacemos clic en Agregar. Se te pedirá que definas privilegios: selecciona Todos los privilegios, haz clic en Realizar cambios y luego regresa haciendo clic en Volver.
  3. Si no está en la lista, tenemos que usar la sección Agregar nuevo usuario, que crea un nombre de usuario MySQL. Aquí debes ingresar un nombre de usuario o su sufijo en el campo Nombre de usuario y recomendamos usar el Generador de contraseñas para el campo Pasword.

IMPORTANTE: deberías actualizar inmediatamente el valor DB_PASSWORD en el archivo wp-config.php con el nuevo valor generado para que no se pierda en el proceso.

Una vez que el usuario es agregado (creado), debes realizar el paso anterior (2.) para agregarlo a la base de datos. Una vez que realices lo anterior, asegúrate de volver a cargar tu sitio web de WordPress para verificar si esto ha resuelto el error.

Comprobar el valor de host de la base de datos

Si los pasos anteriores no han resuelto el error, existen dos datos más que podrían ser incorrectos: la contraseña de inicio de sesión o el host de la base de datos. El valor de host de la base de datos generalmente se proporciona junto con los detalles de la cuenta. Recomendamos revisar esta información con tu proveedor de hosting si no puedes encontrarla fácilmente en los correos electrónicos de configuración de la cuenta o en el panel de control. Si cambiaste el valor de host de la base de datos, vuelve a cargar tu sitio web de WordPress para verificar si esto ha resuelto el error.

Comprobar el valor de la contraseña de inicio de sesión

La contraseña de inicio de sesión se puede actualizar rápidamente utilizando la sección Bases de datos MySQL-> Usuarios actuales en el panel de control.

  1. Busca el usuario para el que deseas actualizar la contraseña en la columna Usuarios y haz clic en Cambiar contraseña en la fila respectiva.
  2. Aquí puedes usar el valor DB_PASSWORD del archivo wp-config.php o generar una nueva contraseña usando Password Generator. Si eliges generar una nueva contraseña, asegúrate de actualizar el valor DB_PASSWORD en el archivo wp-config.php con la nueva contraseña generada.
  3. Haz clic en Cambiar contraseña.

Esto concluye todas las comprobaciones realizadas a través del archivo wp-config.php. Asegúrate de volver a cargar tu sitio web de WordPress para verificar si el error se ha resuelto. Si el error aún persiste, continúa con el último paso.

Comprobar el valor del prefijo de la tabla

Por último, pero no menos importante, asegúrate de que el prefijo de tu tabla (table prefix) sea correcto. Abre tu base de datos de WordPress usando phpMyadmin y mira si los valores coinciden con los especificados en el archivo wp-config.php.

comprobar-wordpress-prefijo-para-reparar-error-establishing-a-database-connection

Paso 3 – Deshabilitar los plugins de WordPress

Si los dos pasos anteriores no solucionaron los problemas, es hora de verificar los plugins de WordPress. La mejor manera de hacerlo es desactivando primero todos los plugins y verificando si el sitio web vuelve a la normalidad después. En caso afirmativo, un mal plugin podría haber sido la causa real del error. Cuando esto es diagnosticado, puedes proceder a buscar el plugin exacto que está detrás del error. Sigue estos pasos para deshabilitar los plugins de WordPress:

  1. Inicia sesión en tu cuenta usando un cliente FTP.
  2. Ubica los archivos del núcleo de WordPress (core files) y busca la carpeta llamada wp-content. Ábrela y busca la carpeta llamada plugins.
  3. Cambia el nombre de esa carpeta a otra cosa como plugins-disabled. Es solo para engañar a WordPress y hacerle creer que esta no es la carpeta de plugins.

desabilitar-plugins-para-wordpress

  1. Verifica tu sitio web y mira si esto ha solucionado tu error.

Si es así, el problema era uno de los plugins. Ahora, para descubrir el verdadero plugin problemático, todo lo que tienes que hacer es:

  1. Cambiar el nombre de la carpeta a plugins nuevamente y acceder a ella.
  2. Cambiar el nombre de cada plugin uno por uno a un nombre diferente solo para asegurarte de que WordPress no cargue ese plugin en particular. Es posible que quieras cambiar el nombre como akismet-disabled, y así sucesivamente.
  3. Verificar tu sitio web cada vez que desactives un plugin, para ver si eso solucionó el problema.

Sin embargo, si esto no logró que tu sitio web volviera a la normalidad, continúa con el siguiente paso.

Paso 4 – Reemplazar los archivos del núcleo de WordPress

IMPORTANTE: asegúrate de crear una copia de seguridad completa de tu sitio web antes de continuar con este paso. Puedes encontrar instrucciones sobre cómo descargar la copia de seguridad de tu sitio web aquí.

Si el error de la base de datos de WordPress aún persiste, puedes optar por la opción nuclear, es decir, reemplazar los archivos del núcleo de WordPress. Esto se debe a que, en algunos casos, los archivos dañados o infectados pueden impedir que tu sitio establezca una conexión a la base de datos. En esta situación, debes pensar en reemplazar estos archivos con copias nuevas y sin adulterar de los archivos del núcleo de WordPress. No te preocupes demasiado: con toda probabilidad, estarás bien al final de esto. Pero asegúrate de intentar esto si todo lo demás falla.

Para reemplazar tus archivos del núcleo de WordPress, sigue estos pasos:

  1. Para reemplazar manualmente los archivos del núcleo de WordPress, primero descarga la última versión de WordPress y descomprime la carpeta.
  2. Elimina tus directorios wp-includes y wp-admin en el servidor.
  3. Sube las nuevas versiones de estas carpetas.

Y eso es todo lo que debes hacer para reemplazar los archivos del núcleo de WordPress. Para obtener instrucciones más detalladas sobre cómo reemplazar los archivos del núcleo de WordPress, consulta este tutorial (en inglés). Esto debería solucionar el problema “Error establishing a database connection” que estás teniendo.

Paso 5: Contactar a tu empresa de hosting

Si has seguido todos los pasos de solución de problemas mencionados anteriormente, pero tu sitio web aún arroja el error – Error establishing a database connection, hay muchas posibilidades de que sea un problema del proveedor de servicios de hosting. En tales casos, se recomienda ponerse en contacto con el soporte de tu proveedor de servicios de hosting web. Habla con ellos y dales todos los detalles necesarios y las acciones de resolución de problemas que hayas realizado.

Pero antes de intentar ponerte en contacto con tu proveedor de hosting, hay una cosa más que puedes hacer para descubrir por qué estás recibiendo el mensaje Error establishing a database connection. A veces, la base de datos está fuera de línea en el lado de tu proveedor de hosting.

Esto podría suceder debido a muchas razones, y no es tan raro como podrías pensar. Si este es el caso, tendrías más información para transmitir a tu proveedor de hosting, lo que podría acelerar el proceso de resolución.

Para comprobar si la base de datos está fuera de línea, debes ejecutar un script PHP bastante simple. El único trabajo del script es averiguar si tu sitio puede formar una conexión con la base de datos. Hemos proporcionado el script a continuación:

<?php
$servername = "mysql.hostinger.com";
$database = "u266072517_name";
$username = "u266072517_user";
$password = "buystuffpwd";
 
// Create connection
 
$conn = mysqli_connect($servername, $username, $password, $database);
 
// Check connection
 
if (!$conn) {
 
    die("Connection failed: " . mysqli_connect_error());
 
}
echo "Connected successfully";
mysqli_close($conn);
?>

Como puedes ver, los únicos detalles que necesitas son el nombre de tu servidor (generalmente en el formato indicado anteriormente para los proveedores de hosting), el nombre de la base de datos específica a la que intentas conectarte, tu nombre de usuario y contraseña de MySQL. Hemos enumerado los valores de uno de nuestros otros tutoriales.

No hace falta decir que debes reemplazarlos por los valores que coincidan con los detalles de tu conexión MySQL del Paso 2.

A continuación, creamos una nueva variable $conn, que capturará el valor de retorno del método mysqli_connect(). Si esta variable está vacía, obtendremos el mensaje Connection failed: <error_name>. Por otro lado, una conexión exitosa dará como resultado que Connected succesfully se muestre en la pantalla.

Este script debería permitirte saber si la base de datos está fuera de línea, lo que podría ser información útil para tu proveedor de alojamiento web.

Conclusión

Este tutorial de WordPress fue diseñado para ayudarte a solucionar el problema Error establishing a databse connection (Error al establecer una conexión con la base de datos) que aparece en WordPress. Al aplicar los pasos apropiados ahora podemos determinar si el error se encuentra en una base de datos dañada o en los valores incorrectos de conexión de la base de datos del archivo wp-config.php. Eventualmente, podría haber una posibilidad de que algo esté mal con el proveedor de hosting, pero vale la pena seguir los pasos anteriores antes de ponerse en contacto con el soporte de hosting.

Agrega un Comentario

Dale clic aquí para dejar un comentario

Únete a cientos de suscriptores en todo el mundo

y consigue increíbles tutoriales y descuentos en tu email

Please wait...

¡Gracias por registrarte!

Comienza a ahorrar hoy mismo!

Alojamientos con todo incluido y nombre de dominio po

2
15
/mes