mysql sockets unix centos6

centos: Otro daemon MySQL que ya se ejecuta con el mismo socket Unix



sockets centos6 (10)

Tengo un error extraño al iniciar el servicio mysqld:

Another MySQL daemon already running with the same unix socket.

Intenté enumerar los servicios en ejecución y detenerlos, pero ocurre el mismo error al iniciar el servicio de mysqld.

Puedo intentar eliminar el mysqld y volverlo a instalar, pero ¿esto también eliminará la base de datos?


TL; DR:

Ejecuta esto como root y estarás listo:

rm $(grep socket /etc/my.cnf | cut -d= -f2) && service mysqld start

Versión más larga:

Puede encontrar la ubicación del archivo socket de MySQL /etc/my.conf manualmente /etc/my.conf , o simplemente usando

grep socket /etc/my.cnf | cut -d= -f2

Es probable que sea /var/lib/mysql/mysql.sock . Luego (como root, por supuesto, o con sudo prepended) elimine ese archivo:

rm /var/lib/mysql/mysql.sock

Luego, inicie el daemon MySQL:

service mysqld start

La eliminación de mysqld no resolverá el problema en absoluto. El problema es que CentOS y RedHat no limpian el archivo de sock después de un bloqueo, por lo que debes hacerlo tú mismo. Evitar apagar su sistema (por supuesto) también es aconsejable, pero a veces no puede evitarlo, por lo que este procedimiento resolverá el problema.


Acabo de resolver este problema y ninguna de las sugerencias resolvió mi problema. Si bien no pude iniciar MySQL al arrancar y encontré el mismo mensaje en los registros ("Otro daemon MySQL que ya se ejecuta con el mismo socket de Unix"), pude iniciar el servicio una vez que llegué a la consola.

En mi archivo de configuración, encontré la siguiente línea: bind-address=xx.xxx . Al azar decidí comentarlo, y el error en el arranque desapareció. Debido a que la dirección de enlace proporciona seguridad, de alguna manera, decidí explorar más a fondo. Estaba usando la dirección IP de la máquina, en lugar de la dirección de bucle IPv4 - 127.0.0.1 .

En resumen, al usar 127.0.0.1 como la bind-address , pude corregir este error. Espero que esto ayude a aquellos que tienen este problema, pero no pueden resolverlo usando las respuestas detalladas anteriormente.


En algún momento puede surgir cuando el servicio MySQL no se cierra correctamente durante el reinicio del sistema operativo. Se ha dejado /var/lib/mysql/mysql.sock. Esto evita que ''mysqld'' se inicie.

Estos pasos pueden ayudar:

1: servicio mysqld start killall -9 mysqld_safe servicio mysqld inicio mysqld

2: rm /var/lib/mysql/mysql.sock service mysqld start


He encontrado una solución para cualquiera en este problema, cambie el directorio de socket a una nueva ubicación en el archivo my.cnf

socket=/var/lib/mysql/mysql2.sock

y el service mysqld start

o la forma más rápida en que GeckoSEO respondió

# mv /var/lib/mysql/mysql.sock /var/lib/mysql/mysql.sock.bak # service mysqld start


Mi solución a esto fue un sobrante mysql.sock en el directorio / var / lib / mysql / desde un apagado completo. Mysql pensó que ya se estaba ejecutando cuando no estaba funcionando.


Para evitar que ocurra el problema, debe realizar un apagado correcto del servidor desde la línea de comandos en lugar de apagar el servidor.

# shutdown -h now

Esto detendrá los servicios en ejecución antes de apagar la máquina.

Basado en Centos, un método adicional para volver a subirlo cuando se encuentre con este problema es mover mysql.sock:

# mv /var/lib/mysql/mysql.sock /var/lib/mysql/mysql.sock.bak # service mysqld start

Al reiniciar el servicio, se crea una nueva entrada llamada mqsql.sock


Para iniciar el servicio MySQL, puede eliminar ''/var/lib/mysql/mysql.sock'' y volver a iniciar el servicio MySQL:

Retire el archivo de socket:

[root@server ~]# rm /var/lib/mysql/mysql.sock rm: remove socket `/var/lib/mysql/mysql.sock''? yes

Inicie el servicio MySQL:

[root@server~]# service mysqld start Starting mysqld: [ OK ]

Te ayudará a resolver tu problema.


Simplemente abra un informe de error con su proveedor de sistema operativo y pídales que coloquen el socket en / var / run para que se elimine automágicamente al reiniciar. Es un error mantener este socket después de un reinicio sucio, / var / run es el lugar para este tipo de archivos.


Simplemente sucede debido a la terminación anormal del servicio mysql. elimine o haga una copia de seguridad del archivo /var/lib/mysql/mysql.sock y reinicie mysql.

Por favor, hágamelo saber si en caso de algún problema ..


para limpiar automáticamente el archivo .sock, coloque estas líneas en el archivo /etc/init.d/mysqld inmediatamente después del bloque de código "start")

test -e /var/lib/mysql/mysql.sock SOCKEXIST=$? ps cax | grep mysqld_safe NOPIDMYSQL=$? echo NOPIDMYSQL $NOPIDMYSQL echo SOCKEXIST $SOCKEXIST if [ $NOPIDMYSQL -eq 1 ] && [ $SOCKEXIST -eq 0 ] ; then echo "NOT CLEAN" rm -f /var/lib/mysql/mysql.sock echo "FILE SOCK REMOVED" else echo "CLEAN" fi

funcionó para mí. Tuve que hacer esto porque no tengo un UPS y a menudo tenemos fallas en el suministro de energía.

Saludos.