Problema do MySQL Daemon Lock

5

Ontem à noite, meu servidor MySQL caiu inesperadamente. Na tentativa de reiniciar (com service mysql restart - eu sou root), simplesmente trava. Com o comando mysql -u root -p , recebo ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) . Eu então tentei iniciar o daemon manualmente ( mysqld ). O prompt seria interrompido por cerca de 2 segundos e, em seguida, retornaria. Em uma inspeção mais detalhada dos logs de erros, recebi:

2016-01-22T19:18:32.399584Z 0 [ERROR] Could not create unix socket lock file /var/run/mysqld/mysqld.sock.lock.

2016-01-22T19:18:32.399622Z 0 [ERROR] Unable to setup unix socket lock file.

2016-01-22T19:18:32.399646Z 0 [ERROR] Aborting

Tentei chown mysql /var/run/mysqld , chmod -R 775 /var/run/mysqld , touch /var/run/mysqld/mysqld.sock.lock e apt-get install mysql-community-server --reinstall . Sem sorte.

Eu olhei em volta e não consegui encontrar uma solução. Alguma ajuda aqui?

Nota: Estou executando Debian 8 (Jessie) com o servidor da comunidade MySQL 5.7.10

    
por SamboyCoding 23.01.2016 / 21:04

3 respostas

1

Corrigido. Adicione skip-external-locking a my.cnf na seção [mysqld] e, em seguida, reinicialize todo o sistema. Isso deve consertar isso, para quem acha isso. Além disso, se você fez backup de seus dados, tentou restaurar e foi instruído a rm ib* para que funcionasse, você precisa do arquivo ibdata .

    
por 29.01.2016 / 15:29
10

Nota para os futuros viajantes: Depende da sua configuração específica, mas isso é muito provavelmente um problema com o apparmor. Se você não quiser desabilitar o bloqueio, dê uma olhada no syslog e veja se você está obtendo o apparmor nega esse arquivo.

Você verá algo como: apparmor="DENIED" operation="open" parent=29871 profile="/usr/sbin/mysqld" name="/run/mysqld/mysqld.sock.lock"

E pode consertar isso adicionando /run/mysqld/mysqld.sock.lock rw a /etc/apparmor.d/usr.sbin.mysqld perto das outras /run/* entradas e recarregando o apparmor.

    
por 13.02.2016 / 03:44
0

Acabei de ter o mesmo problema com as mesmas mensagens de erro exatas, mas, no meu caso, foi devido a uma atualização com o repositório de aplicativos que não acabou da maneira esperada. Então, no meu caso, foi apenas uma questão de executar manualmente mysql_upgrade -u adminname -p e, em seguida, reiniciar o servidor fez o truque.

    
por 15.12.2016 / 14:59