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.