¿Alguien sabe por qué mi /var/run/mysqld/mysqld.sockarchivo de socket no estaría en mi computadora cuando instalo (o reinstalo) MySQL 5.1?
En este momento, cuando intento iniciar un servidor con mysqld, recibo errores como Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) when trying to connect, pero la creación de un archivo en blanco con ese nombre (como se sugiere en los foros de ubuntu) no tuvo éxito.
Tenía mysql y postgres funcionando bien hasta que me actualicé a natty hace un tiempo; He pasado horas recorriendo ambas bases de datos tratando de descubrir qué está pasando. Puedo renunciar a postgres, pero no puedo trabajar sin una copia de trabajo de mysql.
La parte más extraña: uso Kubuntu, y entiendo que KDE usa mysql para almacenar permisos de usuario, etc. No estoy experimentando ningún problema de permisos extraño; ¿Puedo tomar esto como que (de alguna manera?) MySQL realmente está funcionando?
¿Quizás estos archivos de socket viven en un lugar diferente en natty? ¿Sería más fácil reinstalar el sistema operativo fresco? En este punto, estoy abierto a cualquier sugerencia que deje de perder el tiempo.
fuente

/var/run/mysqld/mysqld.sockcreará ese archivo . Como dijo @Paul, debes eliminar cualquier archivo que coloques en esa ubicación.Respuestas:
Un archivo de socket no contiene datos, sino que lo transporta. Es un tipo de archivo especial e inusual creado con llamadas / comandos especiales del sistema. No es un archivo ordinario.
Es como una tubería que el servidor y los clientes pueden usar para conectarse e intercambiar solicitudes y datos. Además, solo se usa localmente. Su importancia es simplemente como una ubicación de cita acordada en el sistema de archivos.
Crear un archivo antiguo y ponerlo en esa ubicación puede interferir con el servidor que lo crea ... y, por lo tanto, evitar que los clientes locales se conecten al servidor.
Mi recomendación es eliminar cualquier archivo que coloque en la ubicación. El archivo de socket especial es creado por el servidor.
fuente
Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) when trying to connectCuando especifique
host=localhost, el cliente mysql intentará iniciar sesión en el servidor mysql utilizando un canal con nombre unix que requiere un.sockarchivo.Esto puede evitarse especificando host = 127.0.0.1. Esto hará que el cliente mysql use TCP para conectarse al servidor.
Tomado de la documentación de MySQL :
fuente
mysql.sockdesaparecer sin razón alguna en todas las versiones de MySQL con las que he trabajado (volver a 4.0). Cuando esto sucede, me conecto así, pero lo uso en--protocol=tcplugar de--port. Cuando cierra mysql, el servicio busca el archivo socket. Por lo tanto, correrservice mysql stopfallaría. Para evitar el dolor de cabeza del archivo socket que faltaba, corromysqladmin -h127.0.0.1 --protocol=tcp -uroot -p shutdown. ¡Oh, por cierto, +1!Un socket es un pseudoarchivo especial utilizado para la transmisión de datos mediante lectura y escritura, no almacenamiento de datos.
El archivo de socket se crea cuando se inicia el servicio y se elimina cuando se termina el servicio. La ubicación del archivo se define
/etc/my.cnfasí:fuente
En mi caso, la ejecución
mysqld_safecreó un nuevomysqld.sockarchivo.Probablemente no recibirá un aviso de regreso, pero si reinicia su sesión, habrá un archivo mysqld.sock en alguna parte. Encuéntralo con
fuente
Tuve el mismo problema con el mysqld.sock faltante. Fui al directorio que contenía mysql, es decir,
/usr/binen mi caso. Entonces emití el comandoEl doble mysql no es un error tipográfico, sino que mysql es una base de datos que siempre estará allí en una nueva instalación de MySQL. No sé si
--host,--passwordo--portestán necesitaba, pero ya que trabajó para mí el uso de estos parámetros que les incluyo. Una vez que apareció MySQL, entré en la tabla de usuario y configuré la contraseña para root. Una vez que apareció MySQL, se creó el archivo de socket que faltaba. Espero que esto ayude a alguien ya que luché durante días.fuente
Si está utilizando nginx php-fastcgi y recibió un error 502 Bad Gateway , entonces debe mirar la configuración de su host virtual en el archivo de configuración nginx. Debe establecer o corregir el
fastcgi_passparámetro.fastcgi_passEs la variable para establecer la conexión de socket entre nginx y php CGI.Otro punto de problema es que el script de inicio binario podría perder las siguientes entradas (importantes) abiertas con:
nano /usr/bin/php-fastcgiEl contenido completo de mi script de inicio / usr / bin / php-fastcgi:
fuente