sql >> Base de Datos >  >> RDS >> Mysql

Cómo otorgar ejecución en un procedimiento almacenado específico al usuario

Sí... esto funciona como se esperaba si no otorga al usuario SELECT privilegio en mysql.proc tabla, ya sea directa o indirectamente, como con GRANT SELECT ON *.* TO ...

Sin SELECT permiso en esta tabla, un usuario solo puede ver la existencia de procedimientos almacenados y funciones almacenadas donde tiene otros permisos, como EXECUTE .

Bajo el capó, la falta de SELECT en mysql.proc también evita que el usuario vea los procedimientos a los que no tiene acceso a través de information_schema.routines pseudo-tabla.

No debería necesitar GRANT SELECT ON mysql.proc para permitir que el usuario ejecute procedimientos o funciones... y si lo hace, entonces eso parece la pregunta.