Bonjour,

J'ai un user proprio d'une base qui possèdent des tables et des procédures sockées. Celles-ci doivent permettre l'écriture dans les tables aux applicatifs.
Donc un user applicatif n'a pas de droit INSERT ou UPDATE sur les tables puisqu'il appelle une procédure

Voilà ce que donne un SHOW GRANTS d'un user applicatif :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
GRANT USAGE ON *.* TO ...
GRANT EXECUTE ON `base`.* TO
Ca marche très bien. Le user applicatif arrive à mettre à jour les tables par l'intermédiaire de la procédure. Or je lis dans la doc de MySQL
MySQL n'utilise pas le droit GRANT EXECUTE. Pour le moment, si une procédure p1() utilise la table t1, l'appelant doit avoir
les droits sur la table t1 afin que la procédure p1() puisse réussir.
Si je comprends bien, mon user applicatif ne devrait pas pouvoir mettre à jour la table puisqu'il n'a pas de droits sur la table impactée par la procédure.

Quelqu'un peut m'expliquer pourquoi ce qui se passe ?