Ao gerenciar servidores de banco de dados Linux, o encerramento inesperado do serviço mysqld pode causar inconvenientes consideráveis. Neste tutorial, você verá como automatizar a inicialização do MySQL se ele parar por vários motivos usando um script e crontab.
Por razões pouco claras, o daemon mysqld pode parar repentinamente e não reiniciar automaticamente em certas situações ou momentos. Como os arquivos de log do servidor não fornecem informações úteis a esse respeito, procurei uma solução para monitorar o status do serviço mysqld. Assim, na situação em que não estiver ativo, o reinício automático deverá ser iniciado por meio de um cronjob.
Vamos ver o tutorial passo a passo para resolver esse problema. (Testado em Linux Debian 12)
Como automatizar a inicialização do MySQL se ele parar
O primeiro passo é criar o script que irá reiniciar o serviço mysqld caso ele seja interrompido.
1. Abra um editor de texto (como nano
ou vi
) e copie o script abaixo para um novo arquivo. Por exemplo, você pode usar:
nano /path/to/your/script.sh
Copie o roteiro:
#!/bin/bash
if systemctl is-active mysqld > /dev/null; then
echo "The mysqld service is running."
else
echo "The mysqld service is not running. Restarting..."
systemctl start mysqld
fi
Salve e feche o editor de texto.
2. Conceda direitos de execução ao script para garantir que ele possa ser executado:
chmod +x /path/to/your/script.sh
3. Adicione o script abaixo ao crontab (comando: crontab -e
permite editar):
*/3 * * * * /path/to/your/script.sh
A linha acima especifica que o script será executado a cada 3 minutos. símbolo */3
significa "a cada 3 minutos". Basicamente, com esta linha você automatiza a inicialização do MySQL com script.sh
.
4. Salve e feche o arquivo crontab.
Agora, seu roteiro script.sh
será executado automaticamente a cada 3 minutos para verificar o status do serviço mysqld
e reinicie-o se necessário.
Se algo der errado e você precisar de ajuda, ficaremos felizes em responder seus comentários.