Mysql : refus demarrage
Mysql : refus demarrage jppJuste avant de partir une semaine en congés, j'ai effectué une mise à jour du système qui "supporte", entre autres choses, la machine virtuelle (KVM) de ce site, j'ai eu le malheur de ré-démarrer le machine, petit nettoyage de la mémoire avant de partir ...
Je n'ai pas vérifié que tout se passait bien au redémarrage et, quelques heures après en consultant mes mails j'ai constaté que la base de données de ce système était inaccessible et que certains logiciels ne fonctionnaient plus car ils utilisent cette base Mysql ...
Dans le coin où j'étais en congés les liaisons téléphoniques étaient tellement mauvaises que je n'ai pas pu prendre la main à distance pour étudier ce phénomène. J'ai du attendre le retour pour me pencher sur cet ennui.
Mysql ne se lançait plus et, comme d'habitude, les renseignements fournis par systemd étaient insuffisants pour toute analyse sérieuse : le service a retourné une erreur ... ce n'est pas très informatif sur la nature de l'erreur et donc franchement inutile !
Une erreur c'est bien de le savoir, mais il serait mieux de savoir laquelle en ayant un message sensé aidant à comprendre le pourquoi !
En lançant Mysql "à la main" en tant qu'utilisateur "mysql" (il faut modifier le shell de démarrage dans /etc/password de /bin/false à /bin/bash) j'ai tout de suite eu un message "fichier my.cnf inexistant", ce qui était beaucoup plus clair que "le service a retourné une erreur'. Ne pas oublier de repasser cet utilisateur à "/bin/false" après la manip !
Je me précipite dans /etc/mysql et ... le fichier "my.cnf" est présent sous la forme d'un lien vers /etc/alternatives/my.cnf", or en tentant de le lister j'obtiens un message de fichier inexistant ... et dans /etc/alternatives il existe bien un fichier "my.cnf" mais sous la forme d'un lien vers /etc/mysql/my.cnf !!!
Je crée donc un "vrai" fichier "my.cnf" contenant :
[mysqld]
!includedir /etc/mysql/mysql.conf.d/
Et systemd lance la base de données sans aucun message alarmant, mais je ne saurais jamais comment et par qui ce lien "en boucle" a été mis en place.