Ja... dette fungerer som forventet, hvis du ikke giver brugeren SELECT
privilegium på mysql.proc
tabel, enten direkte eller indirekte, såsom med GRANT SELECT ON *.* TO ...
Uden SELECT
tilladelse på denne tabel, kan en bruger kun se eksistensen af lagrede procedurer og lagrede funktioner, hvor de har andre tilladelser, såsom EXECUTE
.
Under hætten, manglen på SELECT
på mysql.proc
forhindrer også brugeren i at se de procedurer, de ikke har adgang til via information_schema.routines
pseudo-tabel.
Du burde ikke behøve at GRANT SELECT ON mysql.proc
for at gøre det muligt for brugeren at udføre procedurer eller funktioner... og hvis du gør det, så det virker som spørgsmålet.