J'ai une base de données MySQL 8 sur un "Web Cloud Databases" (inclus avec l'hébergement Performance). J'ai un utilisateur qu'on va appeler "test" qui a les droits d'administrateur sur une base de données "test". Lorsque j'essaie de créer un déclencheur (trigger) depuis PHPMyAdmin, j'obtiens le message d'erreur : > 1419 - 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)
Dans la documentation il est indiqué qu'il faut se tourner vers une « base de données sur un serveur Web Cloud Databases ou Cloud Databases », ce qui est donc mon cas.
Est-ce que le droit de "TRIGGER" n’est pas autorisé, ou mon problème vient d’ailleurs (formulation de la requête par exemple) ?
Dans ma capture, ce que j’ai censuré est équivalent à `test@test` :
J'ai peur de ne pas avoir de réponse pertinente pendant des jours si j'ouvre un ticket pour une question technique comme celle-ci, mais je vais tenter ma chance alors.
Merci pour votre réponse. Le paramètre est effectivement à OFF, mais ces bases de données n’autorisent pas la modification de ces paramètres. Exécuter cette commande retourne l’erreur suivante :
> #1227 - Access denied; you need (at least one of) the SUPER or SYSTEM_VARIABLES_ADMIN privilege(s) for this operation
Votre message m’a mis sur la voie pour trouver la solution, merci ! Je la poste là pour toute personne qui souhaiterait créer des déclencheurs (triggers) dans une base de données Web Cloud Databases (à ma connaissance l’information n’existe pas dans les guides) :
1. Dans l’avant-dernier onglet Configuration du serveur, il y a un paramètre `log_bin_trust_function_creators` qui est à mettre sur ON. 2. Le serveur va redémarrer. 3. À la création du déclencheur dans phpMyAdmin, laisser le champ Créateur (Definer en anglais) vide. Si vous remplissez ce champ avec la valeur équivalente à `user@db` vous aurez toujours le message d’erreur sur les droits ci-dessus.