O MySQL não para de fazer coisas

1

Desculpe pelo título da pergunta, aqui está o meu problema: Eu tenho tentado configurar alguns scripts que importam muitas coisas por hora de uma fonte externa. Eles pareciam funcionar bem, então eu configurei um cronjob para executá-los a cada hora. Um dia depois, encontro seis ou sete instâncias desse script apenas ocupando o servidor MySQL, deixando-o sem resposta. Eu matei seus processos, mas o MySQL ainda não estava respondendo. Eu tive que matar o MySQL, reiniciar e, em seguida, o MySQL começou a trabalhar novamente (quem sabe sobre o quê) e não responder (sim, eu removi os scripts do cronjobs). Eu SHOW PROCESSLIST ed e matei todos os processos que encontrei. Ainda nada, o MySQL está monopolizando o HDD e está no topo de top e fazendo a carga do servidor subir no céu. Eu não sei o que fazer, se eu matar e começar de novo, provavelmente fará a mesma coisa. O que devo fazer?

    
por Felix 02.04.2010 / 14:09

1 resposta

4

Você DB está fazendo exatamente o que é suposto fazer. Quando uma transação é morta, ela precisa ser revertida. Você não pode pará-lo se quiser um banco de dados consistente.

Se isso não for importante para você, elimine o MySQL e crie um banco de dados totalmente novo a partir do zero, porque este nunca funcionará novamente, a menos que você deixe a reversão terminar.

Uma sugestão para os trabalhos agendados, fazer a primeira coisa que você faz no trabalho é verificar se ainda está em execução desde a última vez e, em caso afirmativo, sair. Certifique-se de registrar o que está acontecendo para que você possa ajustar o tempo entre as execuções para um melhor valor.

    
por 02.04.2010 / 16:31

Tags