Web Cloud Database : trigger autorisé ou non ?
BMPCreated with Sketch.BMPZIPCreated with Sketch.ZIPXLSCreated with Sketch.XLSTXTCreated with Sketch.TXTPPTCreated with Sketch.PPTPNGCreated with Sketch.PNGPDFCreated with Sketch.PDFJPGCreated with Sketch.JPGGIFCreated with Sketch.GIFDOCCreated with Sketch.DOC Error Created with Sketch.
Question

Web Cloud Database : trigger autorisé ou non ?

by
EmielB
Created on 2023-11-29 17:46:32 (edited on 2024-09-04 11:24:51) in Hébergements Web

Bonjour,

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` :

image

Merci !


6 Replies ( Latest reply on 2023-11-30 11:02:25 by
EmielB
)

Bonjour,

question bête, mais vous êtes sur d'être sur le bon serveur SQL ?

De mémoire ces serveur là n'ont pas d'interface phpMyAdmin.

Sinon il va falloir ouvrir un ticket incident chez OVH.

Cordialement, janus57

Merci pour votre réponse. Si, les serveurs _Web Cloud Databases_ ont bien un accès à https://phpmyadmin-gra2.hosting.ovh.net/PHPMyAdmin (paragraphe "Optimisez vos tables et vos requêtes" de la https://www.ovhcloud.com/fr/web-cloud/databases/ fiche détaillée de l'offre).

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.

Bonjour,
Que donne :
>SET GLOBAL log_bin_trust_function_creators = 1;

Le Mysql est peut être répliqué d'où le log configuré en binaire.

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

Ok.
Comme l'a dit @janus57, ouvrez un ticket de support OVH. Tenez nous au courant svp.
Merci.

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.