instalar desinstalar mysql linux ubuntu

desinstalar - mysql ubuntu terminal



error: ''No puedo conectar con el servidor MySQL local a través del socket''/var/run/mysqld/mysqld.sock ''(2)''-Falta/var/run/mysqld/mysqld.sock (30)

Mi problema comenzó cuando ya no podía iniciar sesión como root en mi instalación de mysql. Estaba intentando ejecutar mysql sin las contraseñas activadas ... pero cada vez que ejecutaba el comando

# mysqld_safe --skip-grant-tables &

Nunca obtendría el mensaje de vuelta. Estaba intentando seguir estas instrucciones para recuperar la contraseña .

La pantalla se ve así:

root@jj-SFF-PC:/usr/bin# mysqld_safe --skip-grant-tables 120816 11:40:53 mysqld_safe Logging to syslog. 120816 11:40:53 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql

y no recibo un mensaje para comenzar a escribir los comandos SQL para restablecer la contraseña.

Cuando lo mato presionando CTRL + C , recibo el siguiente mensaje:

error: ''Can''t connect to local MySQL server through socket ''/var/run/mysqld/mysqld.sock'' (2)'' Check that mysqld is running and that the socket: ''/var/run/mysqld/mysqld.sock'' exists!

Si reintento el comando y lo dejo durante el tiempo suficiente, recibo la siguiente serie de mensajes:

root@jj-SFF-PC:/run/mysqld# 120816 13:15:02 mysqld_safe Logging to syslog. 120816 13:15:02 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql 120816 13:16:42 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended [1]+ Done mysqld_safe --skip-grant-tables root@jj-SFF-PC:/run/mysqld#

Pero entonces si intento iniciar sesión como root haciendo:

# mysql -u root

Recibo el siguiente mensaje de error:

ERROR 2002 (HY000): Can''t connect to local MySQL server through socket ''/var/run/mysqld/mysqld.sock'' (2)

Lo comprobé y el archivo /var/run/mysqld/mysqld.sock no existe. La carpeta lo hace, pero no el archivo.

Además, no sé si esto ayuda o no, pero corrí find / -name mysqld y se me ocurrió:

/var/run/mysqld - folder /usr/sbin/mysqld - file /run/mysqld - folder

Soy nuevo en Linux y MySQL, así que no sé si esto es normal o no. Pero estoy incluyendo esta información por si acaso ayuda.

Finalmente decidí desinstalar y reinstalar mysql.

apt-get remove mysql-server apt-get remove mysql-client apt-get remove mysql-common apt-get remove phpmyadmin

Después de volver a instalar todos los paquetes en el mismo orden que el anterior, durante la instalación de phpmyadmin, obtuve el mismo error:

ERROR 2002 (HY000): Can''t connect to local MySQL server through socket ''/var/run/mysqld/mysqld.sock'' (2)

Así que intenté de nuevo desinstalar / reinstalar. Esta vez, después de desinstalar los paquetes, también mysql.bad manualmente todos los archivos y directorios mysql a mysql.bad en sus respectivas ubicaciones.

/var/lib/mysql /var/lib/mysql/mysql /var/log/mysql /usr/lib/perl5/DBD/mysql /usr/lib/perl5/auto/DBD/mysql /usr/lib/mysql /usr/bin/mysql /usr/share/mysql /usr/share/dbconfig-common/internal/mysql /etc/init.d/mysql /etc/apparmor.d/abstractions/mysql /etc/mysql

Luego intenté reinstalar mysql-server y mysql-client nuevamente. Pero me he dado cuenta de que no me pide una contraseña. ¿No se supone que debe pedir una contraseña de administrador?


* Error: ''No puedo conectar con el servidor MySQL local a través del socket'' /var/run/mysqld/mysqld.sock ''(2)''

soluciones

Finalmente desinstale y reinstale mysql. **

  • sudo apt-get remove mysql-server
  • sudo apt-get remove mysql-client
  • sudo apt-get eliminar mysql-common
  • sudo apt-get eliminar phpmyadmin

luego instalar de nuevo por

  • sudo apt-get install mysql-server-5.6

Después de esta operación, se utilizarán 164 MB de espacio de disco adicional.

  • ¿Quieres continuar? [Y / n] Y presione SÍ para instalaciones completas

...... .......

  • Por fin obtendrás estas líneas ....

    Configurando libhtml-template-perl (2.95-1) ...

    Configurando mysql-common-5.6 (5.6.16-1 ~ exp1) ... Procesando desencadenantes para libc-bin (2.19-0ubuntu6) Procesando desencadenantes para ureadahead (0.100.0-16) ...

  • Y entonces

    root @ ubuntu1404: ~ # mysql -u root -p (para cada contraseña, primero debes usar)

  • Introducir la contraseña:

  • Nota: la contraseña ingresada debe ser la misma que la contraseña de instalación de mysql (como .root, system, admin, rahul, etc.)

    Entonces escribe

  • USE rahul_db (nombre de la base de datos);

Gracias.**


Acabo de tener este problema en Ubuntu 14.10

Resulta que mysql-server ya no estaba instalado (de alguna manera se había eliminado) pero no podía instalarlo porque había algunos paquetes rotos y problemas / conflictos de dependencia.

Al final tuve que reinstalar mysql

sudo apt-get remove mysql-client sudo apt-get install mysql-server


Bien, solo copie y pegue estos códigos: Esto debe hacerse en el terminal, dentro de un servidor, cuando su base de datos mysql no está instalada correctamente, y cuando recibe este error: ''No se puede conectar al servidor MySQL local a través del socket'' / var / run / mysqld / mysqld.sock ''(2)''.

Detener MySql

sudo /etc/init.d/mysqld stop

Reinicie o comience

sudo /etc/init.d/mysqld restart or sudo /etc/init.d/mysqld start

Haz un enlace como este y entrégalo al sistema.

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

Ejecute una instalación segura que guíe todo el proceso que necesita hacer para configurar mysql

/usr/bin/mysql_secure_installation


Cambiar el host a 127.0.0.1 funcionó para mí.

Edite el archivo en /etc/mysql/my.cnf y agregue la siguiente línea a la sección: client

[client] port = 3306 host = 127.0.0.1 socket = /var/lib/mysql/mysql.sock

Después de que haya terminado con él. Ejecute el siguiente comando.

sudo service mysql start



Ejecuto mi MySQL en una máquina virtual en Ubuntu, así que lo que sucedió fue cuando reinicié mi host y la máquina virtual, la IP había cambiado. Había configurado mysql para ejecutarse en IP 192.168.0.5 y ahora, debido a la asignación dinámica de IP, mi nueva IP era 192.168.0.8

Si tiene el mismo problema, simplemente revise su ip con el comando ifconfig .

Compruebe su enlace MySQL con el comando cat /etc/mysql/my.cnf | grep bind-address cat /etc/mysql/my.cnf | grep bind-address

Si ambas IP son las mismas, entonces reinstale su servidor mysql

Si no, cambie su IP en /etc/network/interfaces usando nano, vi, vim o cualquier otra cosa de su preferencia.

Prefiero sudo nano /etc/network/interfaces

y escribe lo siguiente

auto eth0 iface eth0 inet static address 192.168.0.5 netmask 255.255.255.0

Guarde el archivo de interfaces, reinicie su interfaz sudo ifdown eth0 && sudo ifup eth0 reemplace "eth0" con su interfaz de red

Reinicie MySQL sudo service mysql stop seguido de sudo service mysql start

Si tienes el mismo problema que el mío, ¡estás listo!



En mi caso, el problema fueron las direcciones de enlace en /etc/mysql/my.cnf, entonces:

nano /etc/mysql/my.cnf

busque direcciones de enlace y elimine la específica con la IP del host (no la 127.0.0.1)


En mi caso, se estaban ejecutando dos procesos mysqld ... se eliminaron los procesos opcionales utilizando pkill -9 mysqld


Este error se produce debido a múltiples instalaciones de mysql. Ejecuta el comando:

ps -A|grep mysql

Mata el proceso usando:

sudo pkill mysql

y luego ejecute el comando:

ps -A|grep mysqld

También mata 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 muy bien trabajando de nuevo.


Esto ya se mencionó un par de veces, pero esto funcionó de inmediato para mí:

servicio mysql restart


Hay muchas razones para este problema, pero a veces simplemente reinicie el servidor mysql, solucionará el problema.

sudo service mysql restart


Hay un error en Ubuntu con MySQL 5.6 y 5.7 donde var/run/mysqld/ desaparece cada vez que el servicio MySQL se detiene o se reinicia. Esto evita que MySQL se ejecute en absoluto. Encontré esta solución, que no es perfecta, pero al menos la ejecuta después de detener / reiniciar:

mkdir /var/run/mysqld/ chown mysqld /var/run/mysqld/


Intenta este comando,

sudo service mysql start


Intente lo siguiente en un indicador de terminal:

sudo mysql

Una vez que eso le permite ingresar, puede crear un nuevo usuario y otorgarle los privilegios que desee en la base de datos específica a la que necesitan acceso.

Mysql 5.7 cambió algunas cosas y, de forma predeterminada, usa el complemento auth_socket (a diferencia de mysql_native_password) como root para evitar que la cuenta sea hackeada. Puede anular esto configurando el campo del complemento para la raíz, pero a menos que tenga una buena razón, probablemente no debería eludir la protección. Especialmente cuando sudo mysql es más fácil que mysql -u root -p todos modos.

Descubrí esta información, de todos los lugares, de un sitio de ayuda de Raspberry Pi . Trabajé como un hechizo después de que Lubuntu 18.04 me molestara por un par de horas.


La respuesta del paso de carga del usuario funcionó para mí. A veces es necesario editar el archivo en /etc/mysql/my.cnf agregar línea al cliente

[client] password = your_mysql_root_password port = 3306 host = 127.0.0.1 socket = /var/lib/mysql/mysql.sock


La solución es mucho más fácil.

  1. Primero, debe ubicar (en la Terminal con "sudo find / -type s") donde se encuentra su archivo mysql.sock . En mi caso fue en /opt/lampp/var/mysql/mysql.sock
  2. Encienda la Terminal y emita sudo Nautilus
    Esto inicia su administrador de archivos con privilegios de superusuario.
  3. Desde Nautilus navega hasta donde se encuentra tu archivo mysql.sock
  4. Haga clic derecho en el archivo y seleccione Crear enlace
  5. Cambie el nombre del archivo de enlace a mysqld.sock luego haga clic derecho en el archivo y mysqld.sock
  6. Vaya a /var/run y cree una carpeta llamada mysqld e mysqld
  7. Ahora haga clic derecho y pegue el archivo de enlace
  8. Voila! Ahora tendrá un archivo mysqld.sock en /var/run/mysqld/mysqld.sock :)

Me enfrenté al mismo error y descubrí que se debía a la actualización de los paquetes, así que, después de reiniciar mi sistema, resolví el error.

Creo que debido a la actualización de los paquetes / las bibliotecas SQL se produjo un error, así que intente esto si está realizando alguna actualización :)


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 de su archivo /etc/my.cnf con la ruta al archivo socket:

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

A veces, la secuencia de comandos de inicio del sistema que inició el ejecutable de la línea de comandos especifica una --socket=path . Este indicador podría anular la ubicación my.cnf, y eso podría hacer 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. Por lo tanto, a menos que te importe dónde reside el zócalo, solo funcionará el cambio de my.cnf para que coincida.

Entonces, detén el proceso mysqld. Cómo haces esto variará según el sistema.

Si eres superusuario en el sistema linux, prueba una de las siguientes opciones si no conoces el método específico que usa tu 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 (el menos preferido):
      • Encuentre el ID de proceso de mysql con pgrep mysql o ps aux | grep mysql | grep -v grep ps aux | grep mysql | grep -v grep
      • Suponiendo que el ID del proceso sea 4969 finalice 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 mysqld se esté ejecutando y pueda leer / escribir en él. Una prueba fácil es abrirlo a lectura / escritura completa y ver si todavía 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 según 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.


Probé casi todas las soluciones enumeradas, ninguna me funcionó hasta que reinicié la máquina y luego el servidor mysql se reinició cuando emití el comando "service mysql restart".


Si tiene muchas bases de datos y tablas en su sistema, y ​​si tiene innodb_file_per_table set en my.cnf, es posible que su servidor mysql se haya quedado sin objetos / archivos abiertos (o más bien los descriptores de estos objetos) Establezca un nuevo máximo número con

open-files-limit = 2048

y reiniciar mysql. Este enfoque puede ayudar cuando el socket no se crea en absoluto, pero en realidad no es el problema real, hay un problema subyacente.


Solo necesita iniciar el servicio MySQL después de la instalación:

Para Ubuntu:

sudo service mysql start;

Para CentOS o RHEL:

sudo service mysqld start;


Tal vez alguien enfrente este problema. Estoy usando Mysql Workbench en Ubuntu 14 y obtuve este error.

mysqldump: Got error: 2002: Can''t connect to local MySQL server through socket ''/tmp/mysql.sock'' (2) when trying to connect

Encuentre su archivo de socket ejecutando sudo find / -type s , en mi caso fue /run/mysqld/mysqld.sock

Entonces, acabo de crear un enlace a este archivo en el directorio tmp .

sudo ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock


También me gustaría comprobar la configuración de mysql. Me estaba encontrando en este problema con mi propio servidor, pero estaba un poco apresurado y mal configurado el innodb_buffer_pool_size para mi máquina.

innodb_buffer_pool_size = 4096M

Por lo general, funciona bien hasta 2048, pero supongo que no tengo la memoria necesaria para soportar 4 conciertos.

Me imagino que esto también podría suceder con otros ajustes de configuración de mysql.



Tuve un problema similar en un CentOS VPS. Si MySQL no se inicia o sigue fallando justo después de que se inicie, intente estos pasos:

1) Encuentre el archivo my.cnf (el mío estaba ubicado en /etc/my.cnf) y agregue la línea:

innodb_force_recovery = X

reemplazando X con un número del 1 al 6, comenzando desde el 1 y luego incrementando si MySQL no se inicia. La configuración en 4, 5 o 6 puede eliminar sus datos, así que tenga cuidado y lea http://dev.mysql.com/doc/refman/5.7/en/forcing-innodb-recovery.html antes.

2) Reiniciar el servicio MySQL. Solo se ejecutará SELECT y eso es normal en este punto.

3) Volcar todas las bases de datos / esquemas con mysqldump uno por uno, no comprima los volcados porque tendría que descomprimirlos más tarde de todos modos.

4) Mueva (o elimine) solo los directorios de bd dentro de / var / lib / mysql, conservando los archivos individuales en la raíz.

5) Detenga MySQL y luego descomente la línea agregada en 1). Iniciar MySQL.

6) Recuperar todos los bd volcados en 3).

¡Buena suerte!


Usando XAMPP en ubuntu:

  1. Cree una carpeta llamada mysqld dentro del directorio / var / run . Puede hacerlo usando el comando sudo mkdir /var/run/mysqld .

  2. Cree un enlace simbólico al archivo mysql.sock que crea el servidor XAMPP cuando se inicia. Puede usar el comando sudo ln -s /opt/lampp/var/mysql/mysql.sock /var/run/mysqld/mysqld.sock .

Nota: el archivo mysql.sock se crea cuando el servidor se inicia y se elimina cuando se detiene el servidor, por lo que a veces el enlace que creó puede parecer roto pero debería funcionar siempre que haya iniciado el servidor con sudo /opt/lampp/lampp start o cualquier otro medio.

  1. Inicie el servidor si aún no se está ejecutando e intente ejecutar su programa nuevamente.

¡Buena suerte! Espero que te salgas con la tuya esta vez.


en archlinux me enfrenté a este error y el problema era que el servicio mysqld no estaba funcionando.

Sin embargo, no pude habilitar el servicio mysql con systemctl start mysqld como se indica en la documentación de Archlinux. Creo que el error fue algo así como

mysqld.service no encontrado

Primero necesitaba reiniciar el sistema.

Luego systemctl enable mysqld el comando nuevamente (e systemctl enable mysqld ) y ahora mysql fue capaz de encontrar el mysql.sock creado.


puede encontrar mysqld.sock en /var/run/mysqld si ya ha instalado mysql-server por sudo apt-get install mysql-server


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

en /etc/my.cnf agrega estas líneas:

[client] socket=/var/lib/mysql/mysql.sock <= this path should be also same as is[mysqld]

Y reinicie el servicio con: service mysql restart

esto me funcionó