Encontrei meu site morto esta manhã, com o tempo limite de todas as solicitações. systemctl restart nginx
não fez diferença - mas systemctl restart mysql
fez.
UPDATE
Ontem à noite eu configurei uma consulta de longa duração . Eu suspeito que 10 horas nisso foi o que matou o mysql.
Mas agora meu servidor, que normalmente tem uma média de carga de 1-2 (com 32 núcleos), continua atingindo mais de 20. show processlist
mostra muito creating sort index
em uma consulta complexa popular no site, mas nunca foi um problema antes. Eventualmente, o site para de responder e tenho que reiniciar o mysql novamente.
Executei reparar/otimizar em todas as tabelas envolvidas na UPDATE
consulta. O que mais poderia estar acontecendo?
Se você matar o mysqld, com SIGKILL, ou houver uma falha durante uma transação longa não confirmada, então, na inicialização, o mysql irá reverter essa transação. Cada consulta é, por padrão, envolvida em uma transação se você estiver usando o InnoDB.
Sugiro deixá-lo concluir a reversão.
Você pode monitorar o status com: