Una de las cosas que más temen los administradores de una página web es llegar a la página y el navegador muestra el error para establecer una conexión a la base de datos, o «Error establishing a database connection» en inglés. Ya sabe que cada minuto que su página no está disponible también está perdiendo posibles visitas y dinero. Por lo tanto es importante saber lo que este error significa y las formas de resolverlo.
¿Que significa el error de establecer una conexión a la base de datos?
Para entender el error, primero hay que entender cómo funciona WordPress en su servidor o cuenta de hospedaje web. WordPress en sí consiste de dos tecnologías principales: el PHP y MySQL. Toda la información en su página web se almacena en una base de datos, en general MySQL, y WordPress utiliza PHP para mostrar esta información cuando un visitante llega a su página. Esto significa que si su base de datos no está disponible WordPress no puede mostrar el contenido a un visitante. Por lo tanto el error le informa que WordPress no puede conectar a la base de datos para mostrar su página web.
¿Cuales son las posibles causas del error?
Establecimos el significado del error, pero ¿Cual es su causa? Hay varias razones por la cual WordPress no puede conectar a la base de datos, pero se pueden caracterizar en tres categorías generales:
- El usuario y/o contraseña del usuario: WordPress tiene un usuario de base de datos designado con su propia contraseña, si algo cambia con el usuario o su contraseña, WordPress no va a poder establecer una conexión a la base de datos.
- Un base de datos corrompida: Muchas cosas pueden corromper un base de datos, desde un plugin no compatible o problemas con el servidor que mantiene la base de datos.
- El servidor de la base de datos no está disponible: Si su hospedaje web tiene problemas con uno o más de sus servidores, puede que su base de datos no esté disponible, o una gran cantidad de visitantes inesperados a su página web puede ser un problema para servidores pequeños.
Entender estas posibilidades nos ayuda a analizar el problema en los próximos pasos.
Determinar dónde ocurre el error y reparar la base de datos
Si ve el error para establecer una conexión a la base de datos en su página web, pero le muestra un error diferente en wp-admin, la parte administrativa de su página web, es posible que su base de datos necesite ser reparada. En tal caso se puede utilizar una función disponible en WordPress para reparar su base de datos, pero antes de comenzar hace falta habilitar esa función en el archivo wp-config.php de su página web.
Tiene que abrir wp-config.php y añadir la siguiente linea de código en la última linea:
define( 'WP_ALLOW_REPAIR', true );
Guarde los cambios y abra su navegador para ir a su página web, la parte administrativa, ponga lo siguiente en la barra de direcciones de su navegador:
www.mipagina.com/wp-admin/maint/repair.php
Asegúrese de cambiar www.mipagina.com con la dirección de su página web, a continuación verá dos opciones, la primera es la opción para reparar la base de datos y la segunda es para reparar y optimizar la base de datos. Puede utilizar cualquiera de las dos, pero la opción que incluye optimización toma más tiempo.
Es muy importante deshabilitar la opción de reparar la base de datos tan pronto como termine ya que la página de mantenimiento no es segura, está diseñada para situaciones en la cual no se puede entrar en la parte administrativa de WordPress, por lo tanto no hace falta entrar como usuario administrativo para llegar a la página. Para deshabilitar la opción, elimine la última linea de wp-config.php que añadimos cuando termine el proceso de reparación.
En caso de encontrar el mismo error en su página web y la parte administrativa de WordPress, puede ser un error en el usuario o el servidor de la base de datos.
Verificar su base de datos y configuración
Lo primero es verificar si su servidor de base de datos no tiene problemas, el proceso varía un poco con cada servicio de hospedaje, pero busque por PHPMyAdmin en su cuenta administrativa de hospedaje web. PHPMyAdmin se encuentra en la mayoría de las cuentas de hospedaje como una forma fácil de acceder a su base de datos, al entrar en la página debe ver una lista de base de datos en la parte izquierda de la ventana, si entró sin problema y ve la base de datos, es muy probable que su servidor esté funcionando sin problemas. En caso de que su servidor no muestre las bases de datos al entrar, debe ponerse en contracto con su compañía de hospedaje web para solicitar ayuda con el servidor de la base de datos.
Si el servidor se puede acceder debe continuar y verificar su usuario de base de datos. Aquí tiene dos opciones: Puede simplemente crear un nuevo usuario con permisos para acceder ala base de datos de su página web, o puede probar primero a ver si su usuario funciona.
Verificar su usuario
Primero, abra su archivo wp-config.php y busque las líneas que identifican la base de datos, usuario, contraseña y servidor, verá algo similar a lo siguiente:
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'nombre del base de datos' );
/** MySQL database username */
define( 'DB_USER', 'usuario' );
/** MySQL database password */
define( 'DB_PASSWORD', 'contraseña' );
/** MySQL hostname */
define( 'DB_HOST', 'localhost' );
En orden, el archivo presenta el nombre, usuario, contraseña y servidor de su base de datos, asegúrese que la información utilizada por WordPress sea correcta, si acaba de cambiar de compañías de hospedaje web, es muy probable que tenga que cambiar la información para que coincida con su hospedaje web nuevo. Si todo está correcto, cree un nuevo archivo en el directorio de su instalación de WordPress con el nombre pruebaconexion.php y el siguiente código:
<?php
$prueba = mysql_connect('localhost', 'usuario', 'contraseña');
if (!$prueba) {
die('Error de MySQL: ' . mysql_error());
}
echo '¡La conexión funciono!';
mysql_close($prueba);
?>
Hace falta remplazar localhost, usuario y contraseña con la información de su archivo wp-config.php, y entonces abra su navegador y vea al archivo que acaba de crear, por ejemplo si su página es miweb.com, sería miweb.com/pruebaconexion.php. Si la conexión no funcionó, puede que haya un problema con su usuario, puede intentar llamar su compañía de hospedaje web, o crear un usuario nuevo.
Cada alojamiento web es un poco diferente, pero en general encontrara la opción de crear un nuevo usuario en un sección llamada MySQL Databases, y después haga clic en MySQL Users. Asegúrese de que el usuario creado tenga permisos para la base de datos de su página web, y entonces regrese al archivo de wp-config.php y cambie el usuario y la contraseña al nuevo que acaba de crear.
En caso de que ninguno de estos pasos le funcione, también puede solucionar el problema en algunos casos con una instalación nueva de los archivos de WordPress, pero tenga cuidado de no eliminar las fotos de su instalación existente, ya que son las únicas que no están dentro de la base de datos.