Mysql
 sql >> Base de données >  >> RDS >> Mysql

Autorisations de procédure stockée MySQL

Votre deuxième tentative est la bonne approche :

GRANT EXECUTE ON PROCEDURE myDB.spName TO 'TestUser'@'localhost';

mais si cela ne fonctionne pas, vérifiez...

a) vous (l'utilisateur à partir duquel vous exécutez toutes ces commandes) avez des droits d'octroi [c'est-à-dire AVEC OPTION D'ACCORD]. Si vous êtes root, vous disposez des droits d'octroi.

b) l'utilisateur auquel vous accordez l'autorisation d'exécution existe, par exemple

 select user from mysql.user where user  like  'test%';

Si ce n'est pas le cas, créez l'utilisateur, par exemple

CREATE USER 'TestUser'@'localhost' IDENTIFIED BY 'passwordxxxx';
#depending on your needs
GRANT SELECT,DELETE,UPDATE PRIVILEGES ON myDb.* TO 'TestUser'@'localhost'; 

J'espère que cela vous aidera :)