Solo tuve que volver a instalar mysql y tengo problemas para iniciarlo. No puede encontrar el socket (mysql.sock). El problema es que yo tampoco. En mi terminal Mac OS X 10.4, escribo:, locate mysql.sock
y vuelvo /private/tmp/mysql.sock
. Tiene sentido que el archivo de socket exista en esa ubicación, pero en realidad no es así.
¿Cómo puedo encontrar el archivo de socket?
Si location devuelve una ubicación falsa, debe tener algún tipo de memoria y probablemente índices. ¿Cómo puedo actualizar ese índice?
mysql
macos
sockets
installation
Tony
fuente
fuente
/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock
Respuestas:
para responder a la primera parte de su pregunta:
correr
y verifique la variable 'socket'
fuente
mysqladmin variables
. ¿Qué hacer cuandoerror: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)'
? :)sudo find / -name mysql.sock
desde el directorio raíz y no pude encontrar mysql.sock en ninguna parte del sistema. Instalé MySQL usando el archivo dmg de 64 bits para Mac OS 10.7. Ejecutando Mavericks actualmente.Esto resolvió mi problema
mysql_config --socket
ACTUALIZAR
mysql_config puede decirnos dónde debería estar el archivo mysql.sock, pero en mi caso el archivo no existía. Entonces, borré my.cnf:
Y luego reinició mysql:
El archivo fue creado y mysql ahora está funcionando bien.
fuente
ls: /etc/my.cnf: No such file or directory
Puede ser que tenga que crearlo primero?/etc/my.cnf
intente mirar/usr/loca/etc/my.cnf
- @AbhiEl archivo de socket debe crearse automáticamente cuando se inicia el demonio MySQL.
Si no se encuentra, lo más probable es que el directorio que se supone que lo contiene no exista, o algún otro problema del sistema de archivos esté impidiendo la creación del socket.
Para saber dónde debería estar el archivo, use:
% mysqld --verbose --help | grep ^socket
fuente
mysqld
es que debería decirle dónde lo puso realmente el servidor !Esto lo encontró para mí:
Mac OS X
fuente
Mi problema también fue el archivo mysql.sock.
Durante el proceso de instalación de drupal, tuve que decir qué base de datos quiero usar pero no se encontró mi base de datos
el sistema está buscando mysql.sock pero está en el directorio incorrecto
todo lo que tienes que hacer es vincularlo;)
Me tomó mucho tiempo buscar en Google toda la información importante, pero me tomó incluso horas descubrir cómo adaptarme, pero ahora puedo presentar el resultado: D
ps: si desea ser exactamente, debe vincular su
/tmp/mysql.sock-file
(si también se encuentra en su sistema allí) al directorio proporcionado por php.ini (o php.default.ini) dondepdo_mysql.default_socket= ...
fuente
pdo_mysql.default_socket
, debe reiniciar el servidor web para que se carguen los cambiossudo apachectl restart
Obtuve la ruta exacta usando:
Dado que esto solo devuelve la ruta y no requiere ninguna entrada, podría usarlo en un script de shell.
MySQL debe estar ejecutándose actualmente en su máquina para que esto funcione. También funciona para MariaDB.
fuente
Las preguntas originales parecen provenir de la confusión acerca de a) dónde está el archivo yb) dónde se está buscando (y por qué no podemos encontrarlo allí cuando hacemos una localización o un grep). Creo que el punto de Alnitak fue que desea encontrar dónde estaba vinculado, pero grep no le mostrará un vínculo, ¿verdad? El archivo no vive allí, ya que es un enlace, es solo un puntero. Aún necesita saber dónde colocar el enlace.
mi archivo de calcetín está definitivamente en / tmp y el ERROR que obtengo es buscarlo en / var / lib / (no solo / var) Me he vinculado a / var y / var / lib ahora, y todavía recibo el error "No se puede conectar al servidor MySQL local a través del conector 'var / lib / mysql.sock' (2)".
Tenga en cuenta el (2) después del error ... encontré en otro hilo que esto significa que se podría intentar usar el socket, pero algo está mal con el socket en sí, así que para apagar la máquina, por completo, para que el enchufe se cierra. Entonces, un reinicio debería solucionarlo. Intenté esto, pero no funcionó para mí (ahora me pregunto si reinicié demasiado rápido? ¿De verdad?) Tal vez sea una solución para otra persona.
fuente
Intente esto en su lugar, esto generará el resultado solicitado, eliminando la información no relacionada.
fuente
Para actualizar la base de datos de la localización ejecuté
fuente
(P1) ¿Cómo puedo encontrar el archivo de socket?
La ubicación predeterminada para el archivo de socket es /tmp/mysql.sock, para encontrar el archivo de socket para su sistema use esto.
Si acaba de instalar MySql, el archivo mysql.sock no se creará hasta que se inicie el servidor. Utilice este comando para iniciarlo.
sudo launchctl load -F /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist
Si se le solicita una contraseña, puede pasar el nombre de usuario raíz u otro nombre de usuario como este. Terminal le pedirá la contraseña.
mysqladmin --user root --password variables | grep socket
(Q2) ¿Cómo puedo actualizar el índice de localización?
Actualice la base de datos de localización con este comando.
fuente
Recibo el mismo error en Mac OS X 10.11.6:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
Después de muchos consejos agonizantes y de indagación aquí y en preguntas relacionadas, ninguno de los cuales parecía solucionar el problema, regresé y eliminé las carpetas instaladas, y simplemente lo hice
brew install mysql
.Sigue recibiendo el mismo error con la mayoría de los comandos, pero esto funciona:
/usr/local/bin/mysqld
y devuelve:
fuente
No pude encontrar el socket mysql en absoluto, así que reinstalé el servidor mysql (se conservaron todas las tablas y la configuración de phpmyadmin). Aquí están los comandos:
1) Instalar
2) Siga los pasos de configuración del terminal
3) Verifique el estado: (Debe devolver "Activo: activo (en ejecución)")
fuente
Desafortunadamente, ninguno de los anteriores ha funcionado en mi caso. Pero finalmente encontré soluciones.
Para encontrar dónde está el archivo mysql.sock, simplemente abra el administrador xampp, seleccione MySQL y haga clic en Configurar a la derecha. En el panel de configuración, haga clic en Abrir archivo de configuración y simplemente busque mysql.sock presionando el acceso directo CMD + F.
En mi caso, se cambió el propietario de mysql.sock y tuve que volver a cambiarlo a root admin con: chmod root: admin mysql.sock
Después de eso, se había accedido a la base de datos.
fuente
No puedo ayudar con la pregunta # 1, pero para actualizar
locate
la base de datos de archivos, ejecute:fuente