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

Comment accorder l'exécution d'une procédure stockée spécifique à l'utilisateur

Oui... cela fonctionne comme prévu si vous n'accordez pas à l'utilisateur le SELECT privilège sur mysql.proc table, directement ou indirectement, comme avec GRANT SELECT ON *.* TO ...

Sans SELECT autorisation sur cette table, un utilisateur ne peut voir l'existence de procédures stockées et de fonctions stockées que là où il a d'autres autorisations, comme EXECUTE .

Sous le capot, l'absence de SELECT sur mysql.proc empêche également l'utilisateur de voir les procédures auxquelles il n'a pas accès via les information_schema.routines pseudo-table.

Vous ne devriez pas avoir besoin de GRANT SELECT ON mysql.proc pour permettre à l'utilisateur d'exécuter des procédures ou des fonctions... et si vous le faites, alors ça semble être la question.