Eu tive uma queda de energia. Agora o arquivo de bloqueio do MySQL não irá embora. O que você sugere?

6

Eu faço consultoria de TI como freelancer para vários clientes, tanto em Toronto quanto no Canadá e no mundo todo.

Um cliente sofreu recentemente uma falha de energia. Agora eles estão tendo vários problemas com uma máquina Slackware 12.0.0 que também atua como um servidor DNS.

Um problema é que eles não podem entrar no phpMyAdmin.

Eu tentei parar e reiniciar o MySQL. Mas mesmo quando o MySQL é parado, o arquivo de bloqueio fica por perto.

jasonspiro@cybertron:~$ sudo /etc/init.d/mysql stop 
Shutting down MySQL. SUCCESS! 
jasonspiro@cybertron:~$ sudo /etc/init.d/mysql stop
 ERROR! MySQL manager or server PID file could not be found!
jasonspiro@cybertron:~$ sudo /etc/init.d/mysql status
 ERROR! MySQL is not running, but lock exists
jasonspiro@cybertron:~$ ls -l /var/lock/subsys/mysql 
-rw-r--r-- 1 root root 0 2012-07-05 16:18 /var/lock/subsys/mysql

Por que o arquivo de bloqueio do MySQL está pendurado, apesar do fato de o MySQL não estar rodando?

Posso simplesmente parar o MySQL, excluir o arquivo de bloqueio e iniciar o MySQL novamente?

Existem outras etapas que devo seguir ou nada?

EDIT: Um tempo depois de fazer essa pergunta, notei que a maneira como o MySQL é instalado nesta máquina parece instável . Além disso, descobri que o script /etc/init.d/mysql que encontrei nesta máquina sempre cria um arquivo de bloqueio quando ele inicia o MySQL e nunca exclui o arquivo quando ele para o MySQL. Então essa questão acaba sendo irrelevante para mim. Obrigado, mas não preciso de mais respostas para essa pergunta.

    
por jasonspiro 05.07.2012 / 22:24

1 resposta

10

Fazer: ls -al /var/lock/subsys

Procure por mysql.pid . Tira isso. Remova também mysql.sock , se existir.

Se tudo mais falhar, [como root] use updatedb ; locate <filename> . Este é seu amigo em situações como esta.

Tente reiniciar o MySQL usando o script de inicialização. Se isso não funcionar, restaure a um ponto de verificação do banco de dados a partir de um backup aceitável do banco de dados.

Se não houver backups de banco de dados: faça um clone desse disco com dd o mais rápido possível. Você pode precisar usar alguns procedimentos de recuperação hard-core. Mesmo se o serviço MySQL iniciar novamente, salve o melhor backup em bom estado por um tempo, apenas no caso.

    
por 05.07.2012 / 22:46