Base de datos
La conexión local falla mientras que por TCP a 127.0.0.1 puede funcionar. El error 2 significa que el fichero de socket no existe.
Conectar a «localhost» usa el socket Unix; conectar a «127.0.0.1» usa TCP. Son caminos distintos y fallan por motivos distintos, lo que explica que uno funcione y el otro no.
En el orden en que lo miramos nosotros. No es un ranking de frecuencia: no publicamos estadísticas que no hemos medido.
El servidor no está corriendo, así que el socket no existe.
Comprobar
sudo systemctl status mariadb || sudo systemctl status mysqlCorregir
sudo systemctl start mariadbEl socket está en otra ruta y el cliente busca donde no es.
Comprobar
sudo ss -xl | grep mysql
mysql_config --socket 2>/dev/nullCorregir
mysql --socket=/run/mysqld/mysqld.sock -u usuario -p
# Para fijarlo, socket= en la sección [client] de /etc/mysql/my.cnfEl servidor no arrancó, normalmente por disco lleno o por un fallo al recuperar el journal de InnoDB.
Comprobar
sudo journalctl -u mariadb -n 50 --no-pager
df -h /var/lib/mysqlCorregir
# Resolver lo que indique el journal antes de reintentar el arranque.El directorio de datos tiene el propietario equivocado tras una restauración o una copia con sudo.
Comprobar
ls -ld /var/lib/mysqlCorregir
sudo chown -R mysql:mysql /var/lib/mysqlLos comandos de esta página se ejecutan en tu servidor y algunos modifican la configuración: léelos antes de pegarlos. Las rutas y los nombres de servicio varían entre distribuciones. Así se elabora este catálogo.
Soporte Linux y DevOps en español