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
Desinstalé mysql en Ubuntu 16.04 https://askubuntu.com/questions/172514/how-do-i-uninstall-mysql
Reinstalé mysql https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-16-04
Esto parecía funcionar.
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!
El archivo mysql.sock se crea cuando MariaDB se inicia y se elimina cuando MariaDB se apaga. No existirá si MariaDB no se está ejecutando. Tal vez usted no instaló MariaDB. PODRÍA SEGUIR LA INSTRUCCIÓN A CONTINUACIÓN: https://www.linode.com/docs/databases/mariadb/how-to-install-mariadb-on-centos-7 BEST
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.
- 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
- Encienda la Terminal y emita
sudo Nautilus
Esto inicia su administrador de archivos con privilegios de superusuario. - Desde Nautilus navega hasta donde se encuentra tu archivo
mysql.sock
- Haga clic derecho en el archivo y seleccione Crear enlace
- Cambie el nombre del archivo de enlace a
mysqld.sock
luego haga clic derecho en el archivo ymysqld.sock
- Vaya a
/var/run
y cree una carpeta llamadamysqld
emysqld
- Ahora haga clic derecho y pegue el archivo de enlace
- 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
ops aux | grep mysql | grep -v grep
ps aux | grep mysql | grep -v grep
- Suponiendo que el ID del proceso sea
4969
finalice conkill -9 4969
- Encuentre el ID de proceso de mysql con
- Un paso:
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 este tipo de problema cuando cambio el tamaño de la gota en digitalocean. He actualizado la versión mysql y funciona para mí. Aquí está el tutorial que apliqué: https://serverpilot.io/community/articles/how-to-upgrade-mysql-5.5-to-5.6-on-ubuntu-14.04.html
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:
Cree una carpeta llamada mysqld dentro del directorio / var / run . Puede hacerlo usando el comando
sudo mkdir /var/run/mysqld
.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.
- 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ó