through socket name mysql sockets connect

name - No se puede conectar al servidor MySQL local a través del socket ''/var/lib/mysql/mysql.sock''(2)



port mysql default (30)

Recibo el siguiente error cuando intento conectarme a mysql:

Can''t connect to local MySQL server through socket ''/var/lib/mysql/mysql.sock'' (2)

¿Hay una solución para este error? ¿Cuál podría ser la razón detrás de esto?


¿Se está conectando a "localhost" o "127.0.0.1"? Noté que cuando se conecta a "localhost" se usa el conector de zócalo, pero cuando se conecta a "127.0.0.1" se usa el conector TCP / IP. Podría intentar usar "127.0.0.1" si el conector de zócalo no está habilitado / funcionando.


Asegúrate de haber iniciado el servidor:

mysql.server start

Entonces conecte con el usuario root:

mysql -uroot


Asegúrate de que tu servicio mysql esté funcionando

service mysqld start

Luego, prueba uno de los siguientes:

(Si no ha configurado la contraseña para mysql)

mysql -u root

si ya has configurado la contraseña

mysql -u root -p


Asegúrese de tener suficiente espacio en /var . Si el demonio Mysql no puede escribir información adicional en la unidad, el servidor mysql no se iniciará y se producirá el error Can''t connect to local MySQL server through socket ''/var/lib/mysql/mysql.sock'' (2)

Considere usar

expire_logs_days = 10 max_binlog_size = 100M

Esto le ayudará a mantener el uso del disco hacia abajo.


Compruebe si su servicio mysqld se está ejecutando o no, si no se ejecuta, inicie el servicio.

Si su problema no se resuelve, busque /etc/my.cnf y /etc/my.cnf siguiente manera, donde verá una línea que comienza con socket . Tome una copia de seguridad de ese archivo antes de hacer esta actualización.

socket=/var/lib/mysql/mysql.sock

Cambiar a

socket=/opt/lampp/var/mysql/mysql.sock -u root


El servidor MySQL no se está ejecutando, o esa no es la ubicación de su archivo de socket (verifique my.cnf).


En mi caso, he movido el archivo de socket a otra ubicación dentro de /etc/my.cnf de /var/lib/mysql/mysql.sock a /tmp/mysql.sock

Incluso después de reiniciar el servicio mysqld, todavía veo el mensaje de error cuando intento conectarme. ERROR 2002 (HY000): Can''t connect to local MySQL server through socket ''/var/lib/mysql/mysql.sock'' (2)

El problema está en la forma en que está configurado el cliente. Los diagnósticos en ejecución mostrarán la ruta correcta del socket. por ejemplo, ps aux | grep mysqld ps aux | grep mysqld

Trabajos:

mysql -uroot -p -h127.0.0.1 mysql -uroot -p --socket=/tmp/mysql.sock

No funciona:

mysql -uroot -p mysql -uroot -p -hlocalhost

Puede solucionar este problema agregando la misma línea de socket en la sección [client] dentro de la configuración de mysql.


Esto es lo que funcionó para mí:

ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock service mysqld restart


Esto es un problema si se está quedando sin espacio en disco. La solución es liberar algo de espacio del disco duro.

Por favor lea más para tener la explicación:

Si está ejecutando MySQL en LINUX, verifique el espacio libre de HDD con el disco de comando libre:

df

Si está recibiendo algo así:

Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda2 5162828 4902260 0 100% / udev 156676 84 156592 1% /dev /dev/sda3 3107124 70844 2878444 3% /home

Entonces este es el problema y ahora tienes la solución!

Dado que mysql.sock quiere ser creado en la carpeta mysql, que casi siempre está debajo de la carpeta raíz, no se pudo lograr debido a la falta de espacio.

Si periódicamente da el comando ls bajo el directorio mysql (en openSUSE 11.1 está en / var / lib / mysql) obtendrá algo como:

hostname:/var/lib/mysql # .protected IT files ibdata1 mysqld.log systemtemp .tmp NEWS greekDB mysql mysqld.pid test ARXEIO TEMP1 ib_logfile0 mysql.sock polis DATING deisi ib_logfile1 mysql_upgrade_info restore

El archivo mysql.sock aparece y desaparece a menudo (debe intentar asignar con la ls para golpear una instancia con el archivo mysql.sock en la carpeta).

Esto se debe a que no hay suficiente espacio en el disco.

Espero poder ayudar a algunas personas !!!! ¡Gracias!


Esto podría ser una sugerencia estúpida, pero asegúrese al 100% de que su base de datos todavía esté alojada en localhost. Por ejemplo, si un administrador de red eligió (o cambió a) el alojamiento de Amazon DB, necesitará ese nombre de host.


Intenta primero 2, 3 soluciones. El error es aún emergente y si no puede encontrar /var/lib/mysql/mysql.sock

find /var/ -name mysql.sock

Consulta el espacio disponible en / var /

df

Si el directorio está completo, elimine algunos archivos / directorios inútiles.

rm /var/cache/*

Probablemente tu problema se solucionará ahora.


Lo más probable es que mysql.sock no exista en /var/lib/mysql/ .

Si encuentra el mismo archivo en otra ubicación, entonces haga un enlace simbólico:

Por ejemplo: lo tengo en /data/mysql_datadir/mysql.sock

Cambia de usuario a mysql y ejecuta como se menciona a continuación:

su mysql ln -s /data/mysql_datadir/mysql.sock /var/lib/mysql/mysql.sock

Eso soluciono mi problema


MariaDB, una bifurcación desarrollada por la comunidad de MySQL, se ha convertido en la implementación predeterminada de MySQL en muchas distribuciones.

Así que primero debes empezar,

$ sudo systemctl start mariadb

Si esto falla, intente,

$ sudo systemctl start mysqld

Entonces para iniciar mysql,

$ mysql -u root -p

A partir de hoy, en Fedora el paquete se llama mariadb y en Ubuntu se llama mariadb-server .

Por lo tanto, es posible que tenga que instalarlo si aún no está instalado en su sistema.


Me funcionó con los siguientes cambios.

Cualquier ruta para socket se menciona en [mysqld] y lo mismo en [cliente] en my.cnf y reinicie mysql

[mysqld] socket = / var / lib / mysql / mysql.sock

[cliente] socket = / var / lib / mysql / mysql.sock


Mi problema fue que instalé mysql correctamente y funcionó bien.

Pero un día, ocurrió el mismo error.

No se puede conectar al servidor MySQL local a través del socket ''/var/lib/mysql/mysql.sock'' (2)

Y no existía ningún archivo mysql.sock.

Esta solución resolvió mi problema y mysql estaba funcionando nuevamente:

Inicie sesión como root:

sudo su -

Correr:

systemctl stop mysqld.service systemctl start mysqld.service systemctl enable mysqld.service

Prueba como root:

mysql -u root -p

mysql debería estar ahora en funcionamiento.

Espero que esto pueda ayudar a alguien más también.


Por favor, asegúrese de haber instalado el servidor MySQL correctamente, me encontré con este error muchas veces y creo que es complicado de depurar desde el socket, quiero decir que podría ser más fácil reinstalarlo.

Si está utilizando CentOS 7, esta es la forma correcta de instalarlo:

En primer lugar, agregue la fuente de la comunidad mysql
yum install http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

Entonces puedes instalarlo por yum install mysql-community-server

Inicia con systemctl: systemctl start mysqld


Por favor, compruebe si se está ejecutando otro servicio mysql.


Primero ingrese "service mysqld start" e inicie sesión


Se encontró con este problema al intentar conectar mysql en el cliente SSH; se encontró que agregar la ruta del socket al comando es útil cuando es necesario cambiar de socket.

> mysql -u user -p --socket=/path/to/mysql5143.sock


Si cambia los archivos en / var / lib / mysql [como copiar o reemplazar eso], debe establecer el propietario de los archivos en mysql. Esto es tan importante si el reinicio de mariadb.service ha sido muy bueno.

chown -R mysql: mysql / var / lib / mysql / *

chmod -R 700 / var / lib / mysql / *


Si está en el shell de sf.net , intente:

mysql --host=mysql-{LETTER} --user={LETTER}{GROUP ID}admin -p

Cambie {LETRA} y {ID DE GRUPO} como se muestra en su base de datos MySQL del perfil de administrador del proyecto.


Si se encuentra en un RHEL reciente, es posible que deba iniciar mariadb (una db de mysql de código abierto) en lugar de la db de mysql:

yum remove mysql yum -y install mariadb-server mariadb service mariadb start

Entonces deberías poder acceder a mysql de la manera habitual:

mysql -u root -p


Si su archivo my.cnf (generalmente en la carpeta etc.) está configurado correctamente con

socket=/var/lib/mysql/mysql.sock

puedes verificar si mysql se está ejecutando con el siguiente comando:

mysqladmin -u root -p status

intente cambiar su permiso a la carpeta mysql. Si estás trabajando localmente, puedes probar:

sudo chmod -R 777 /var/lib/mysql/

eso me lo resolvió


Si su mysql estuvo funcionando anteriormente y se detuvo de repente, simplemente "reinicie" el servidor.

Estaba enfrentando este problema en mi CentOS VPS .->

Estaba constantemente recibiendo

Can''t connect to local MySQL server through socket ''/var/lib/mysql/mysql.sock''(2)

Probé todas las técnicas, finalmente reiniciando el servidor solucioné los problemas ->

shutdown -r now

Espero que esto ayude !!


Simplemente edite /etc/my.cnf Agregue las siguientes líneas a my.cnf

[mysqld] socket=/var/lib/mysql/mysql.sock [client] socket=/var/lib/mysql/mysql.sock

Reinicie mysql y vuelva a conectar

mysql -u usuario -p base de datos de contraseñas -h host;


Solo llueva en el mismo problema, y ​​aquí es cómo lo abordé.

Suponiendo que mysqld se esté ejecutando, entonces el problema podría ser el cliente mysql que no sabe dónde buscar el archivo socket.

La forma más sencilla de abordar esto consiste en agregar la siguiente línea al archivo .my.cnf de su usuario (en linux, que generalmente se encuentra bajo / home / myusername):

socket=<path to the mysql socket file>

Si no tiene un archivo .my.cnf allí, cree uno que contenga lo siguiente:

[mysql] socket=<path to the mysql socket file>

En mi caso, ya que moví la carpeta de datos predeterminada de mysql (/ var / lib / mysql) en una ubicación diferente (/ data / mysql), agregué a .my.cnf lo siguiente:

[mysql] socket=/data/mysql/mysql.sock

Espero que esto ayude.


Tenga en cuenta que mientras mysql lee la información de la ubicación del archivo socket desde el archivo my.cnf, el programa mysql_secure_installation parece no hacerlo correctamente a veces.

Entonces, si eres como yo y barajas las cosas en el momento de la instalación, puedes encontrarte en la situación en la que puedes conectarte a la base de datos con mysql, pero la cosa no se puede asegurar (no se usa ese script).

Para solucionar este problema, la sugerencia de sreddy funciona bien: cree un enlace desde donde el script esperaría que el socket se encuentre donde está realmente. Ejemplo:

ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock

(Yo uso / tmp / como ubicación predeterminada para sockets)


Tuve que deshabilitar explicit_defaults_for_timestamp desde my.cnf.


Una forma de reproducir este error: si quería conectarse a un servidor externo pero en su lugar, conectarse al servidor local inexistente:

eric@dev ~ $ mysql -u dev -p Enter password: ERROR 2002 (HY000): Can''t connect to local MySQL server through socket ''/var/lib/mysql/mysql.sock'' (2) eric@dev ~ $

Así que tienes que especificar el host así:

eric@dev ~ $ mysql --host=yourdb.yourserver.com -u dev -p Enter password: Welcome to the MySQL monitor. Commands end with ; or /g. Your MySQL connection id is 235 Server version: 5.6.19 MySQL Community Server (GPL) Type ''help;'' or ''/h'' for help. Type ''/c'' to clear the current input statement. mysql> show databases; +-------------------------+ | Database | +-------------------------+ | information_schema | | mysql | | performance_schema | +-------------------------+ 3 rows in set (0.00 sec) mysql> exit Bye eric@dev ~ $


tratar

echo 0 > /selinux/enforce