Partage
  • Partager sur Facebook
  • Partager sur Twitter

MySQL : trigger et privilèges d'utilisateur

cours : Administrer vos bases de données avec MySQL

    19 mars 2019 à 9:50:53

    Bonjour, 

    Je suis en train de suivre le cours "Administrer vos bases de données avec MySQL"

    J'ai un problème de privilèges d'utilisateur pour la création de TRIGGER.

    En effet, avec l'utilisateur 'student' créé en début de cours avec ALL PRIVILEGES, je ne peux pas créer de trigger : j'ai une erreur me disant qu'il me manque les SUPER privilèges. Alors que student est censé avoir tous les privilèges sauf GRANT OPTION et PROXY.

    Du coup, je suis passée avec l'utilisateur root pour pouvoir continuer le cours.

    Mais j'aimerais bien pouvoir manipuler les triggers avec l'utilisateur 'student' et je n'arrive pas à trouver comment faire. 

    Est-ce que quelqu'un sait comment faire ?

    Pour info, voici comment j'ai défini l'utilisateur 'student':

    CREATE USER 'student'@'localhost' IDENTIFIED BY 'mot_de_passe';
    GRANT ALL PRIVILEGES ON elevage.* TO 'student'@'localhost';
    

    Merci pour votre aide.

    • Partager sur Facebook
    • Partager sur Twitter
      19 mars 2019 à 10:12:00

      Bonjour,

      Tu aurais pu creuser un peu sur le privilège SUPER ...

      https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_super

      Ce privilège n'est pas liée à une base de données précise, mais à tout le serveur MySQL, par défaut il n'est attribué qu'à l'administrateur général (root). MySQL déconseille de déployer ce privilège, et conseille plutôt de donner des privilèges dynamiques.

      https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#privileges-provided-dynamic

      La solution déconseillée serait :

      GRANT SUPER ON *.* TO student@localhost;

      Une solution plus affinée serait :

      GRANT TRIGGER ON *.* TO student@localhost;
      • Partager sur Facebook
      • Partager sur Twitter
      Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
        19 mars 2019 à 10:57:05

        Merci beaucoup pour ta réponse. 

        Mais j'avais déjà essayé cette solution... c'est d'ailleurs après cette tentative que j'ai abandonné et que je me suis dirigée vers le forum (j'aurais dû l'écrire, mea culpa)

        J'ai quand même retenté (depuis root, avec puis sans guillemets sur student et localhost) et j'ai toujours la même erreur à la création d'un trigger depuis l'utilisateur student :

        ERROR 1419 (HY000): You do not have the SUPER privilege and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)

        • Partager sur Facebook
        • Partager sur Twitter
          19 mars 2019 à 11:31:29

          Il faut également lancer la commande :

          FLUSH PRIVILEGES;

          Après avoir modifié les privilèges. C'était fait aussi ?

          • Partager sur Facebook
          • Partager sur Twitter
          Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
            19 mars 2019 à 11:51:43

            Benzouye a écrit:

            Il faut également lancer la commande :

            FLUSH PRIVILEGES;

            Après avoir modifié les privilèges. C'était fait aussi ?

            ah punaise ! ça par contre je ne connais pas !! merci !!!!!!!!

            :(:(:(:(  Mais je reste bloquée... j'ai pu supprimer les triggers mais pas les recréer (alors que cela fonctionne chez root)

            -
            Edité par Squirrel Jo 19 mars 2019 à 11:59:21

            • Partager sur Facebook
            • Partager sur Twitter
              19 mars 2019 à 12:10:50

              Squirrel Jo a écrit:

              j'ai pu supprimer les triggers mais pas les recréer

              Wow ?!

              Là cela devient vraiment étrange ... je sèche ...

              • Partager sur Facebook
              • Partager sur Twitter
              Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                19 mars 2019 à 12:20:29

                Benzouye a écrit:

                Squirrel Jo a écrit:

                j'ai pu supprimer les triggers mais pas les recréer

                Wow ?!

                Là cela devient vraiment étrange ... je sèche ...


                MERCI pour ton aide.

                Si je trouve la solution, je la posterai ;)

                • Partager sur Facebook
                • Partager sur Twitter
                  8 juin 2020 à 17:20:48

                  Bonjour, j'ai eu le même problème que Squirrel Jo : lorsque je souhaitais créer un trigger avec l'utilisateur Student, ça me renvoyait l'erreur suivante :

                  ERROR 1419 (HY000): You do not have the SUPER privilege and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)

                  J'ai trouvé une solution avec ce lien :

                  http://wiki.ispirer.com/sqlways/troubleshooting-guide/mysql/import/binary-logging

                  GRANT TRIGGER ON *.* TO student@localhost;
                  
                  SET GLOBAL log_bin_trust_function_creators = 1;
                  Voici ce que dit la doc (j'ai pas tout compris...) :

                   https://dev.mysql.com/doc/refman/8.0/en/stored-programs-logging.html

                  -
                  Edité par Xysmath87 8 juin 2020 à 17:24:24

                  • Partager sur Facebook
                  • Partager sur Twitter

                  MySQL : trigger et privilèges d'utilisateur

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown