Mi problema comenzó porque ya no podía iniciar sesión como root en mi instalación de mysql. Intentaba ejecutar mysql sin tener las contraseñas activadas ... pero cada vez que ejecutaba el comando
# mysqld_safe --skip-grant-tables &
Nunca volvería a recibir el aviso. Intenté 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, aparece 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 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 luego, si intento iniciar sesión como root haciendo:
# mysql -u root
Me sale 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 /var/run/mysqld/mysqld.sock
archivo no existe. La carpeta sí, 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 incluyo esta información en caso de que ayude.
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 reinstalar todos los paquetes nuevamente en el mismo orden que antes, durante la instalación de phpmyadmin, recibí el mismo error:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Así que intenté nuevamente desinstalar / reinstalar. Esta vez, después de desinstalar los paquetes, también cambié manualmente el nombre de todos los archivos y directorios de mysql mysql.bad
en sus ubicaciones respectivas.
/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 he notado que no me pide una contraseña. ¿No se supone que debe solicitar una contraseña de administrador?
/var/run/mysqld/mysqld.sock
falta. El problema que vinculó tiene ese archivo.