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


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?


75
2017-12-05 17:59


origen


Respuestas:


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


225
2017-12-14 10:11



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 de socket de MySQL pulsando manualmente en /etc/my.conf, o simplemente usando

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

Es probable que sea /var/lib/mysql/mysql.sock. Entonces (como root, por supuesto, o con sudo antepuesto) eliminar ese archivo:

rm /var/lib/mysql/mysql.sock

Luego, inicie el daemon MySQL:

service mysqld start

Eliminando mysqld no abordará el problema en absoluto. El problema es que CentOS y RedHat no limpian el sock archivo después de un bloqueo, por lo que debe hacerlo usted 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.


18
2018-01-09 17:16



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 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

4
2017-12-05 18:31



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.


3
2017-12-06 21:49



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.


2
2018-01-23 11:29



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.


1
2018-01-15 10:37



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: inicio de servicio mysqld killall -9 mysqld_safe mysqld servicio mysqld start

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


1
2018-04-22 07:13



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.


0
2017-09-29 05:03



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 ..


0
2018-06-06 17:26



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.x.x.x. 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 invertido IPv4 - 127.0.0.1.

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


-1
2018-05-02 16:40