Cómo solucionar el "ERROR 2002 (HY000): Can't connect to local MySQL server through socket" al actualizar VPS

Cómo solucionar el “ERROR 2002 (HY000): Can’t connect to local MySQL server through socket” al actualizar VPS

El otro día tras actualizar un VPS, voy a abrir una de las webs alojadas en este servidor y me sale el famoso mensaje “Error al establecer una conexión con la base de datos”. Este es el error que normalmente te ocurre cuando no están bien configurados los datos de la base de datos en el wp-config.php, pero en este caso solo había actualizado el sistema por lo que, en principio, este no era el caso.

De todas formas lo primero que hice fue revisar la configuración de wp-config.php para cerciorarme que efectivamente nada había cambiado, y así era, todo estaba bien.

Tengo que decir que el VPS tiene instalado un Ubuntu 16.04 con Nginx como servidor web y MariaDB como sistema de gestión de bases de datos. Así que tocaba revisar todo el sistema para ver que había pasado.

Primero revisé que versiones de servidor web y mysql tenía tras la actualización, para ver si había cambiado algo. Para ello escribimos:

nginx -v

para ver la versión de nginx y

mysql --version

para la de mysql.

En este último es donde vi algo raro, me daba la versión actual de mysql pero la distribución no era MariaDB.

mysql  Ver 15.1 Distrib mysql-5.1.2, for debian-linux-gnu (x86_64) using readline 5.2

Esta claro que aquí estaba el fallo, por lo que lo siguiente fue intentar entrar a la base de datos con

mysql -u root -p

tras poner la contraseña me salió el siguiente error

ERROR 2002 (HY000): Can't connect to local MySQL server through socket

así que no podía ni siquiera entrar en la base de datos.

Menos mal que siempre tengo copia de seguridad de todo, pero aún así es un verdadero fastidio tener que volver a restaurar todo y con la consiguiente pérdida de tiempo.

Pensé que lo mejor era volver a instalar MariaDB desde cero y que se restaure la configuración, para ello hay que poner:

apt-get -y install mariadb-server

y seguimos los pasos que nos indica. Después ejecutamos

mysql_secure_installation

un script que se utiliza para mejorar la seguridad del servidor y volvemos a seguir las instrucciones.

Una vez terminado volví a ingresar en la base de datos con

mysql -u root -p

Esta vez no me dio error. Lo siguiente listar las bases de datos para ver como estaba todo

show databases;

Y ¡SORPRESA!, estaban todas ahí, como si nada hubiera pasado. Me fui al navegador a comprobar las web que tengo en ese VPS y todo iba a las mil maravillas. Me acabo de ahorrar el tiempo de volver a instalar todas las bases de datos…

Espero que esto te sirva si te ocurre alguna vez lo mismo y ya sabes, si tienes alguna duda dejala en los comentarios.