servidor mysql continua parando e agora não inicia novamente

1

Estou executando o mysql em um servidor Ubuntu e, por algum motivo, o mysql foi desligado inesperadamente. Normalmente eu posso começar de novo, mas agora não vai começar. Não sei qual versão estou executando e não sei como descobrir. Eu não consigo encontrar nenhum log de mysql, então não tenho idéia do que está acontecendo, já que estou procurando no lugar certo por logs. Estou realmente perdido aqui, alguém pode me apontar na direção certa?

EDITAR:

Ok, depois de descobrir que posso procurar no syslog algumas informações, descobri o que pode ser útil:

Jun 18 12:37:39 ip-10-98-167-102 kernel: [6892262.992944] Out of memory: Kill process 2351 (mysqld) score 95 or sacrifice child
Jun 18 12:37:39 ip-10-98-167-102 kernel: [6892262.992961] Killed process 2351 (mysqld) total-vm:689332kB, anon-rss:57548kB, file-rss:0kB
Jun 18 12:37:39 ip-10-98-167-102 kernel: [6892263.072544] init: mysql main process (2351) killed by KILL signal
Jun 18 12:37:39 ip-10-98-167-102 kernel: [6892263.073876] init: mysql main process ended, respawning
Jun 18 12:37:40 ip-10-98-167-102 kernel: [6892263.872080] type=1400 audit(1340023060.184:20): apparmor="STATUS" operation="profile_replace" name="/usr/sbin/mysqld" pid=7068 comm="apparmor_parser"
Jun 18 12:37:41 ip-10-98-167-102 kernel: [6892265.330749] init: mysql main process (7072) terminated with status 1
    
por LordZardeck 18.06.2012 / 18:21

3 respostas

4

Esse log explica porque o MySQL morreu. Foi morto pelo assassino da OOM. O assassino da OOM é uma parte divertida do Linux que existe porque o Linux promete RAM aos processos e, quando eles realmente querem a RAM que eles prometeram, mata um deles para dar aos outros a RAM que eles querem.

Ele escolhe qual deles matar baseado em um algoritmo que parece classificar o MySQL muito bem. Provavelmente porque usa muita memória RAM.

Eu sugeriria executar o mysqltuner.pl (Get it with wget mysqltuner.pl ) na sua caixa do MySQL e também a saída de top para ver quais processos estão usando toda a sua memória.

    
por 18.06.2012 / 18:40
0

Ok, eu estou tão orgulhoso de mim mesmo por entender isso, já que não sou um guru do Linux. Acontece que havia um processo Java ocupando todo o RAM (não sei como um processo java começou, vendo como eu não o uso naquele servidor). Isso impediu que o processo mysql tivesse ram suficiente para iniciar. Eu matei o processo java e o mysql foi capaz de iniciar o processo. Eu acho que minha verdadeira pergunta agora é por que e como o processo java começou, e é importante?

    
por 18.06.2012 / 18:40
0

Seu servidor pode estar sem memória. Dê uma olhada na saída de free -t

executar top mostrará onde ele é usado.

Considere adicionar mais memória física.

    
por 18.06.2012 / 18:42

Tags