GNU/Linux >> Tutoriales Linux >  >> Linux

error:'No se puede conectar al servidor MySQL local a través del socket '/var/run/mysqld/mysqld.sock' (2)' -- Falta /var/run/mysqld/mysqld.sock

Prueba este comando,

sudo service mysql start

Para encontrar todos los archivos de socket en su sistema, ejecute:

sudo find / -type s

Mi sistema de servidor Mysql tenía el socket abierto en /var/lib/mysql/mysql.sock

Una vez que encuentre dónde se está abriendo el socket, agregue o edite la línea a su archivo /etc/my.cnf con la ruta al archivo del socket:

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

A veces, la secuencia de comandos de inicio del sistema que lanzó el ejecutable de la línea de comandos especifica un indicador --socket=path . Este indicador podría anular la ubicación my.cnf, y eso daría como resultado que no se encuentre un socket donde el archivo my.cnf indica que debería estar. Luego, cuando intente ejecutar el cliente de línea de comandos mysql, leerá my.cnf para encontrar el socket, pero no lo encontrará ya que se desvía de donde el servidor creó uno. Entonces, a menos que le importe dónde reside el socket, simplemente cambiar my.cnf para que coincida debería funcionar.

Luego, detenga el proceso mysqld. La forma de hacerlo variará según el sistema.

Si es un superusuario en el sistema Linux, intente uno de los siguientes si no conoce el método específico que usa su configuración de Mysql:

  • service mysqld stop
  • /etc/init.d/mysqld stop
  • mysqladmin -u root -p shutdown
  • Algunos sistemas no están configurados para tener una forma elegante de detener mysql (o, por alguna razón, mysql no responde) y puede forzar la terminación de mysql con:
    • Un paso:pkill -9 mysqld
    • Dos pasos (menos preferido):
      • Encuentre la identificación del proceso de mysql con pgrep mysql o ps aux | grep mysql | grep -v grep
      • Asumiendo que la identificación del proceso es 4969 terminar con kill -9 4969

Después de hacer esto, es posible que desee buscar un archivo pid en /var/run/mysqld/ y eliminarlo

Asegúrese de que los permisos en su socket sean tales que cualquier usuario que esté ejecutando mysqld pueda leer/escribir en él. Una prueba fácil es abrirlo para lectura/escritura completa y ver si aún funciona:

chmod 777 /var/run/mysqld/mysqld.sock

Si eso soluciona el problema, puede adaptar los permisos y la propiedad del socket según sea necesario en función de su configuración de seguridad.

Además, el usuario que ejecuta el proceso mysqld debe poder acceder al directorio en el que reside el socket.


Este error ocurre debido a múltiples instalaciones de mysql. Ejecute el comando:

ps -A|grep mysql

Termina el proceso usando:

sudo pkill mysql

y luego ejecute el comando:

ps -A|grep mysqld

También elimine este proceso ejecutando:

sudo pkill mysqld

Ahora que está completamente configurado, simplemente ejecute los siguientes comandos:

service mysql restart
mysql -u root -p

Tener mysql funcionando muy bien de nuevo


Linux
  1. ¿Cómo maneja Linux múltiples separadores de rutas consecutivas (/home////username///file)?

  2. ¿Diferencia entre /var/log/messages, /var/log/syslog y /var/log/kern.log?

  3. Error del servidor MySQL:"No se puede crear un nuevo subproceso (errno 11)"

  4. No se puede conectar al servidor MySQL error 111

  5. Error fatal:no se pueden abrir y bloquear tablas de privilegios:la tabla 'mysql.host' no existe

Cómo arreglar No puedo conectarme al servidor MySQL local a través del socket /var/run/mysqld/mysqld.sock (2)

Deteniendo el servidor de la base de datos MySQL:mysqld falló

No se puede conectar al servidor MySQL local a través del socket '/var/run/mysqld/mysqld.sock' en Ubuntu 12.04.5 LTS

mysqld_safe mysqld del archivo pid /var/run/mysqld/mysqld.pid evitar el reinicio del servidor

NGINX:connect() to unix:/var/run/php7.0-fpm.sock falló (2:No existe tal archivo o directorio)

Postfix - Opendkim - No se puede conectar al enchufe local