Erreur a la connection : [MySQL] Error code : 22001 (1406). Data too long

bonjour,

depuis quelques jours a chaque fois que je me connecte a jeedom j’ai le message suivant :

[MySQL] Error code : 22001 (1406). Data too long for column 'options' at row 1 : UPDATE `user` SET `id` = :id, `login` = :login, `profils` = :profils, `password` = :password, `options` = :options, `rights` = :rights, `enable` = :enable, `hash` = :hash WHERE id = :ideograph_advantage:

Cela arrive après avoir entré le mot de passe et si je fais ‹ enter › une deuxième fois ca passe, je n’ai plus le message d’erreur.

J’ai fouillé un peu partout sur le forum, j’ai vu qu’il pouvait s’agir d’un problème de longueur d’une donnée info historisée mais je n’en ai trouvé aucune longue qui soit historisée. Les seules données longues viennent d’une lecture d’un capteur tasmota qui renvoi les valeurs d’un linky + 2 compteurs d’eau et elle n’est ni affichée ni historisée, le JSON recu étant immédiatement éclaté en plusieurs données. De plus cette donnée existait avant cette erreur. Ci-dessous cette donnée :

{"Time":"2021-06-15T17:24:35","COUNTER":{"C1":24217,"C2":12695},"ENERGY":{"TotalStartTime":"2021-05-17T18:53:24","Total":4242.447,"Yesterday":17.450,"Today":11.307,"Period":78,"Power":[241,0,0],"ApparentPower":[241,1410,242],"ReactivePower":[0,1410,242],"Factor":[1.00,0.00,0.00],"Voltage":[241,235,242],"Current":[1.000,6.000,1.000],"Load":5,"ADSC":"042076281597","VTIC":2,"NGTF":"H PLEINE/CREUSE ","LTARF":" HEURE  PLEINE  ","EAST":4597971,"EASF01":1625558,"EASF02":2972413,"EASF03":0,"EASF04":0,"EASF05":0,"EASF06":0,"EASF07":0,"EASF08":0,"EASF09":0,"EASF10":0,"EASD01":2600602,"EASD02":1997369,"EASD03":0,"EASD04":0,"IRMS1":1,"IRMS2":6,"IRMS3":1,"URMS1":241,"URMS2":235,"URMS3":242,"PREF":18,"PCOUP":18,"SINSTS":776,"SINSTS1":0,"SINSTS2":1319,"SINSTS3":0,"SMAXSN":3262,"SMAXSN1":3195,"SMAXSN2":1883,"SMAXSN3":1736,"SMAXSN-1":3357,"SMAXSN1-1":2407,"SMAXSN2-1":1971,"SMAXSN3-1":1930,"CCASN":678,"CCASN-1":504,"UMOY1":240,"UMOY2":236,"UMOY3":241,"STGE":"003A0401","PRM":2147483647,"RELAIS":0,"NTARF":2,"NJOURF":0,"NJOURF+1":0}}

D’ou peut venir ce problème ?

merci d’avance

Bonjour,
Le problème de cette erreur c’est qu’on ne connait pas la valeur dans « options » celle qui est trop longue…
C’est dans la table user donc tu dois avoir trop d’options dans ton profil ? (je dis un truc au pif vu la requête sinon j’en sais rien en vrai) Tu cherche à modifier ton mot de passe ?

En tout cas je ne crois pas que ça ai un rapport avec ton tasmota, peut être même pas avec aucun plugin pour le coup.

merci de ta reponse. non je n’ai pas cherché a modifier mon mot de passe.

Je n’ai pas spécialement touché aux options pour tout dire je ne sais pas a quoi ca correspond …

Je viens d’installer adminer pour aller voir dans la base de données et j’a trouvé le champ ‹ options › dans ‹ user › qui correspond a l’utilisateur admin.

Ce champ fait 65520 caracteres du genre "{« lastConnection »:« 2021-06-16 11:21:23 »,« hashGenerated »:« 2021-04-15 01:53:16 »,« registerDevice »:{« f01ed34c6b42ba0e8a97c64fdc4a55162878a10e24c4f39405441d84570b7a8750292f1caa8a0d3bc52ee0d3322f10cda0069fcf4ab118e1a53c7a2da4fb7e41 » …}

J’ai crée un autre user et ce champ ‹ options › créé est de taille plus ‹ normale ›.
Je n’y connais pas grand chose mais j’ai l’impression qu’il y a donc un probleme avec le user ‹ admin ›.
Puis je le supprimer sans problème a partir du moment ou j’ai créé un autre user avec les droits ‹ admin › ?
sinon puis je réparer ou regénérer ce user admin ?

Pour voir,

Allez ici :
http://votreip/index.php?v=d&p=user

Regardez si le champ de l’API est trop long sur ce compte, si c’est le cas, sur la droite de la ligne, vous avez un bouton pour regénérer la clé API, qui va alors prendre le nouveau format (plus court, j’ai eu votre cas).

J’ai régénéré la clé qui a maintenant pour valeur sd2xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Cela ne change rien j’ai toujours l’erreur car le champ ‹ options › est toujours aussi long (65520 caractères).
A quoi correspond ce champ ‹ options › ? Pourquoi est -il nettement plus court (1180 caractères) pour le 2eme user que j’ai créé que pour le user principal admin ?

Puis je supprimer l’utilisateur admin qui me pose probleme ? Ca ne va pas creer des problemes quelques part si cet utilisateur n’existe plus ?

Non je ne pense pas.

Idéalement, supprimez-le puis, créez le de nouveau. C’est surtout pour voir un compte de secours en cas de problème avec votre compte à vous.
Il peut avoir le même mot de passe que le votre (mais pas un truc bateau).

je me pose la question parce que je vois que l’on peut changer le mot de passe a 2 endroits différents :

  • reglages / systeme / utilisateurs ou je peux changer le mot de passe admin et ajouter/supprimer des utilisateurs
  • préférences / securité ou je peux changer un mot de passe + reneiger le hash utilisateur mais je ne vois pas de liaison avec un utilisateur particulier. C’est pas pour l’admin ? A quoi correspond ce mot de passe ?
  1. C’est l’emplacement ou il faut faire l’action pour supprimer le compte, le créer et définir un mot de passe.
  2. C’est pour l’utilisateur actuellement connecté

Bonjour,

J’ai le même souci depuis quelques jours. Je n’ai fait aucune modification depuis des semaines sur Jeedom …
As tu réussi à régler le problème ? Si oui comment.

Merci