Introducción
Los usuarios que trabajan con MySQL pueden encontrarse con el error 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock (2)' al iniciar sesión en la interfaz de MySQL. Este problema suele surgir si MySQL no puede acceder a mysqld.sock archivo de enchufe.
En este tutorial, repasaremos las causas potenciales de 'No se puede conectar al servidor MySQL local a través del socket ' y mostrarle diferentes métodos para resolver este problema.
Requisitos previos
- Un sistema que ejecuta Ubuntu 20.04
- Una cuenta de usuario con privilegios sudo
- Acceso a la ventana de terminal/línea de comandos
- Una copia de MySQL instalada y lista para usar (aprende a instalarla con nuestra guía para instalar MySQL en Ubuntu 20.04)
Resolviendo el error 'No se puede conectar al servidor MySQL local a través del socket '/var/run/mysqld/mysqld.sock' (2)'
Hay múltiples formas de resolver el 'No se puede conectar al servidor MySQL local a través del socket'/var/run/mysqld/mysqld.sock (2)' error. Si una solución no funciona, desplázate hacia abajo en la lista hasta que encuentres la que resuelve el problema.
Método 1:comprobar el servicio MySQL
1. Verifique el estado del servicio MySQL con:
sudo systemctl status mysql
2. Si el servicio no se está ejecutando, reinícielo usando:
sudo systemctl start mysql
3. Para evitar que suceda este problema, configure el servicio MySQL para que se inicie automáticamente al arrancar:
sudo systemctl enable mysql
Método 2:verificar la ubicación de mysqld.sock
El 'No se puede conectar al servidor MySQL local a través del socket '/var/run/mysqld/mysqld.sock' (2)' el error también ocurre si MySQL no puede encontrar el mysql.sock archivo de enchufe.
1. Busque el mysqld.sock actual ubicación usando el find
comando para enumerar todos los archivos de socket en su sistema:
sudo find / -type s
2. Abra el archivo de configuración de MySQL en un editor de texto de su elección. En este ejemplo, usamos nano :
sudo nano /etc/mysql/my.cnf
3. Luego, agregue las siguientes líneas al final del archivo de configuración de MySQL:
[mysqld]
socket=[path to mysqld.sock]
[client]
socket=[path to mysqld.sock]
donde:
[path to mysqld.sock]
:Ruta al mysqld.sock archivo de socket que encontró en el Paso 1 .
Otro método es crear un enlace simbólico desde la ubicación de mysqld.sock al /var/run/mysqld directorio:
ln -s [path to mysqld.sock] /var/run/mysqld/mysqld.sock
4. Presione Ctrl+X para cerrar el archivo de configuración y escriba Y y presiona Entrar para guardar los cambios realizados.
4. Finalmente, reinicie el servicio MySQL:
sudo systemctl restart mysql
Método 3:verificar el permiso de la carpeta MySQL
Otra posible causa podría ser que el servicio MySQL no pueda acceder a /var/run/mysqld directorio debido a restricciones de permisos:
1. Para resolver este problema, cambie la configuración de permisos para mysqld directorio con:
sudo chmod -R 755 /var/run/mysqld
Establecer el permiso en 755
permite al usuario raíz leer, escribir y ejecutar el directorio, mientras que otros usuarios solo pueden leer y ejecutar.
2. Reinicie el servicio MySQL para que los cambios surtan efecto:
sudo systemctl restart mysql
Método 4:comprobar si hay varias instancias de MySQL
El error también ocurre si hay varias instancias de MySQL ejecutándose al mismo tiempo.
1. Para listar todas las instancias de MySQL, use:
ps -A|grep mysqld
2. Si hay varias instancias de MySQL ejecutándose, termínelas con:
sudo pkill mysqld
3. Reinicie el servicio MySQL para iniciar una sola instancia de MySQL:
sudo systemctl restart mysql