Erreur restore backup jeedom avec le plugin Jeemate

Bonjour,

J’ai une erreur sur la restauration de mon backup, et alors j’ai investigué un peu plus loin, et je trouve cette erreur lorsque je lance la restauration en ligne de commande:

root@JeedomLuna:/var/www/html# mysql -u jeedom -p jeedom < DB_backup.sql
Enter password:
--------------
/*!50003 CREATE*/ /*!50017 DEFINER=`jeedom`@`%`*/ /*!50003 TRIGGER IF NOT EXISTS jeemate_trigger_cmd_change AFTER UPDATE ON cmd
  FOR EACH ROW
    BEGIN
      IF (old.name != new.name || old.isHistorized != new.isHistorized || old.type!= new.type|| old.subType!= new.subType || old.unite!= new.unite || old.display!= new.display || old.isVisible!= new.isVisible || old.generic_type!= new.generic_type)
      THEN
         UPDATE jeemate_devices SET sync_users=''
         WHERE link_type = 'eqLogic' && send LIKE 1 && link_id = new.eqLogic_id;
      END IF;
    END */
--------------

ERROR 1227 (42000) at line 129: Access denied; you need (at least one of) the SUPER, SET USER privilege(s) for this operation
root@JeedomLuna:/var/www/html# mysql --version
mysql  Ver 15.1 Distrib 10.5.26-MariaDB, for debian-linux-gnu (aarch64) using  EditLine wrapper

Il y a en effet 2 déclencheurs créés par le plugin, qui ne peuvent pas être importé sans des droits spécifiques? ne pourrait-on pas les exclure du backup et les re-installer lors du restore en tant que dépendances ? Autre suggestion que supprimer le plugin / faire un backup / restorer le backup clean / remettre le plugin ? :stuck_out_tongue_closed_eyes:

Et d’ailleurs, je me pose la question, comment le plugin peut-il créer ces triggers alors qu’il n’a à priori pas d’autre user db que celui utilisé aussi lors du restore…

Salut,

Pour le moment non, vu que tu es le premier a nous remonter ce souci depuis que les triggers ont été mis en place il y a bientôt 2 ans.

Je regarderai mais peux tu me donner plus d’informations…

Ton backup est créé sur quoi comme machine ? Version debian, version jeedom, etc…

Et tu veux l’installer sur quel nouvelle machine ?

Mon backup est créé sur un jeedom dans docker sur rpi et la bdd est déportée dans un autre container, c’est donc un montage un peu ésotérique mais qui fonctionne bien en général, il n’est pas à jour mais je pourrais refais les maj et un test si besoin

Et je voudrais l’installer sur une box luna toute neuve qui est livrée avec jeedom 4.2, debian 11, de mémoire je n’ai pas pensé à faire un screen de la page santé avant de lancer l’import…

Après, on ne fait pas d’import / export tous les jours, et vu que l’erreur n’apparait pas dans le log du restore dans l’interface Jeedom, je ne suis pas surpris que personne ne l’ai remonté même en 2 ans.

Salut,

Je testerai en début de semaine d’installer un backup sur une VM en debian 11, il faut que je regarde la procédure pour le faire en ligne de commande, je ne l’ai jamais fait.

Même si je ne peux te proposer une solution immédiate, sache que je vais faire ce que je peux pour en trouver une :wink:

A+

Il n’y a pas de procédure officielle pour restaurer le backup en ligne de commande, normalement on passe par l’interface. Mais, si le backup est bien présent dans /backup, le script va le trouver:
php install/restore.php
La il plante avec la même erreur, et il laisse le dump sql en place, donc j’ai pu tenter de refaire l’import manuellement avec la commande ci-dessus…

Alors test a l’instant :

VM debian 11 avec install Jeedom 4.4.17 master en ligne de commande.
Import d’un backup venant d’un deb11 Jeedom beta 4.4.18.

Je lance le backup, aucune erreur, et quand je vais dans la DB avec adminer mes 2 trigger sonr bien présent.

La seule chose que j’ai fait avant d’importer le fichier du backup c’est la connexion au market, rien de plus.

ok, oui la luna est livrée avec Jeedom 4.2 mais j’aurais sans doute pu faire la maj avant de lancer le restore…
Quelle est la version de mysql sur ta VM ?

Jeedom créant le backup :

Jeedom recevant le backup :

Dans tous les cas, je ne pense pas que ce soit une bonne idée de faire un restore sur une version inférieur.

  • Installation Jeedom → Maj → Restore