Tak... to działa zgodnie z oczekiwaniami, jeśli nie przyznasz użytkownikowi SELECT
przywilej w mysql.proc
tabela, bezpośrednio lub pośrednio, na przykład za pomocą GRANT SELECT ON *.* TO ...
Bez SELECT
uprawnienia do tej tabeli, użytkownik może zobaczyć istnienie procedur składowanych i funkcji składowanych tylko wtedy, gdy ma inne uprawnienia, takie jak EXECUTE
.
Pod maską brak SELECT
na mysql.proc
uniemożliwia również użytkownikowi zobaczenie procedur, do których nie ma dostępu, za pośrednictwem information_schema.routines
pseudo-tabela.
Nie powinieneś potrzebować GRANT SELECT ON mysql.proc
aby umożliwić użytkownikowi wykonywanie procedur lub funkcji... a jeśli tak, to to wydaje się być pytaniem.