Lors de la gestion de serveurs de bases de données Linux, l'arrêt inattendu du service mysqld peut entraîner des désagréments considérables. Dans ce didacticiel, vous verrez comment automatiser le démarrage de MySQL s'il s'arrête pour diverses raisons à l'aide d'un script et d'une crontab.
Pour des raisons peu claires, le démon mysqld peut s'arrêter soudainement et ne pas redémarrer automatiquement dans certaines situations ou moments. Étant donné que les fichiers journaux du serveur ne fournissent pas d'informations utiles à cet égard, j'ai recherché une solution pour surveiller l'état du service mysqld. Ainsi, dans la situation où il n'est pas actif, le redémarrage automatique doit être initié au moyen d'une tâche cron.
Voyons le tutoriel étape par étape pour résoudre ce problème. (Testé sur Linux Debian 12)
Comment automatiser le démarrage de MySQL s'il s'arrête
La première étape consiste à créer le script qui redémarrera le service mysqld s'il est arrêté.
1. Ouvrez un éditeur de texte (tel que nano
ou vi
) et copiez le script ci-dessous dans un nouveau fichier. Par exemple, vous pouvez utiliser :
nano /path/to/your/script.sh
Copiez le script :
#!/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
Enregistrez et fermez l'éditeur de texte.
2. Donnez les droits d'exécution au script pour vous assurer qu'il peut être exécuté :
chmod +x /path/to/your/script.sh
3. Ajoutez le script ci-dessous au crontab (commande: crontab -e
vous permet d'éditer) :
*/3 * * * * /path/to/your/script.sh
La ligne ci-dessus précise que le script sera exécuté toutes les 3 minutes. symbole */3
signifie "toutes les 3 minutes". Fondamentalement, avec cette ligne, vous automatisez le démarrage de MySQL avec script.sh
.
4. Enregistrez et fermez le fichier crontab.
Maintenant, votre script script.sh
sera exécuté automatiquement toutes les 3 minutes pour vérifier l'état du service mysqld
et redémarrez-le si nécessaire.
Si quelque chose ne va pas et que vous avez besoin d'aide, nous serons heureux de répondre à vos commentaires.