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
ops aux | grep mysql | grep -v grep
- Asumiendo que la identificación del proceso es
4969
terminar conkill -9 4969
- Encuentre la identificación del 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 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