Bonjour,
J’ai un soucis depuis quelque temps avec des erreurs 500 sur Jeedom et des erreurs SQLSTATE[HY000] [2002] No such file or directory. J’ai pu voir que c’est un soucis de avec le serveur mysql qui s’arrête, avec une erreur :
systemd[1]: mysql.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
systemd[1]: mysql.service: Failed with result 'exit-code'.
systemd[1]: mysql.service: Scheduled restart job, restart counter is at 171.
puis redémarre :
-- Le redémarrage automatique de l'unité (unit) mysql.service a été planifié, en
-- raison de sa configuration avec le paramètre Restart=.
Le gros probleme est que cela arrive très très souvent, entre 5 et 10 minutes environ. On peut le voir dans le syslog.
Après analyse, en désactivant tous les plugin de jeedom pour trouver la cause, il s’avère que cela vient du plugin Zwave et/ou du plugin téléinfo.
Quand ces plugins sont désactivé, je n’ai aucun soucis, mysql ne s’arrête jamais. Quand j’active zwave, tout fonctionne correctement pendant un temps, si je fait un top j’ai ca :
PID UTIL. PR NI VIRT RES SHR S %CPU %MEM TEMPS+ COM.
1779262 www-data 20 0 903160 48860 12036 S 3,0 0,8 21:43.82 python
2784633 www-data 20 0 241244 35012 24760 S 2,0 0,6 0:05.92 apache2
1756112 www-data 20 0 426636 53368 10716 S 1,0 0,9 9:57.16 python3
2845299 mysql 20 0 2857240 475660 35452 S 0,7 7,8 0:03.05 mysqld
1751573 root 20 0 396032 44904 32916 S 0,3 0,7 5:20.67 deCONZ
2824979 www-data 20 0 241148 34704 24384 S 0,3 0,6 0:02.87 apache2
2834142 lamorad+ 20 0 14880 4480 3652 R 0,3 0,1 0:03.82 top
Au bout de quelques minutes, mysql occupe 100% du CPU :
PID UTIL. PR NI VIRT RES SHR S %CPU %MEM TEMPS+ COM.
2838769 mysql 20 0 3057304 547852 35976 S 100,7 9,0 0:18.73 mysqld
2556726 www-data 20 0 243016 38724 26976 S 2,6 0,6 0:18.08 apache2
1779262 www-data 20 0 903160 48860 12036 S 2,0 0,8 21:42.19 python
1756112 www-data 20 0 426636 53352 10716 S 1,3 0,9 9:56.47 python3
1751573 root 20 0 396032 44904 32916 S 0,7 0,7 5:20.30 deCONZ
2834142 lamorad+ 20 0 14880 4480 3652 R 0,7 0,1 0:03.41 top
10 root 20 0 0 0 0 I 0,3 0,0 4:15.31 rcu_sched
Et c’est a ce moment la que mysql s’arrete avec le code erreur ci-dessus.
Si je regarde le log du plug in zwave, voici un extrait :
[2021-10-21 09:52:21][ERROR] : Error on send request to jeedom, return code 500
[2021-10-21 09:57:13][ERROR] : Error on send request to jeedom, return code 500
[2021-10-21 10:02:10][ERROR] : Error on send request to jeedom, return code 500
[2021-10-21 10:07:01][ERROR] : Error on send request to jeedom, return code 500
[2021-10-21 10:16:51][ERROR] : Error on send request to jeedom, return code 500
[2021-10-21 10:26:52][ERROR] : Error on send request to jeedom, return code 500
[2021-10-21 10:36:40][ERROR] : Error on send request to jeedom, return code 500
[2021-10-21 10:51:13][ERROR] : Error on send request to jeedom, return code 500
[2021-10-21 10:56:07][ERROR] : Error on send request to jeedom, return code 500
[2021-10-21 11:01:03][ERROR] : Error on send request to jeedom, return code 500
[2021-10-21 11:05:57][ERROR] : Error on send request to jeedom, return code 500
[2021-10-21 11:10:51][ERROR] : Error on send request to jeedom, return code 500
[2021-10-21 11:20:40][ERROR] : Error on send request to jeedom, return code 500
En faisant des recherches sur ce forum community, je vois que bcp de gens on posté des log de ce plugin avec ce genre d’erreur 500.
Par exemple ici : Desactivation des modules zwave
Avec le plugin téléinfo c’est encore pire ! Mysql utilise rapidement plus de 100% du CPU et plante avec la même erreur. De plus j’ai un compteur en trop qui à été créé par le plugin, et je ne peux pas le supprimer car cela plante immédiatement mysql et provoque une erreur 500. (J’ai également vu certains sujet ici même avec ce même probleme de suppression)
J’ai testé quelques trucs, comme démarrer le serveur avec la commande innodb_force_recovery = 1 dans le /etc/mysql/my.cnf
La, le serveur reste correctement en ligne, mais les services ne fonctionnent plus de manière 100% opérationnelle, par exemple on peut plus créer un équipement, et certains scenario ne fonctionnent plus.
Dans la doc ils indiquent que démarrer avec le paramètre à innodb_force_recovery à 1 force mysql à ignorer les corruptions.
J’ai donc fait un mysqlcheck de toutes mes bases, et le résultat est ok sur toutes les tables de toutes les bases, du coup je sèche la…
J’ai fait un fsck de la partition et aucun pb n’a été détecté.
Est ce que vous avez une idée ?
Je suis avec Mysql 8.
Merci pour votre aide.