Sì... funziona come previsto se non concedi all'utente il SELECT privilegio su mysql.proc tabella, direttamente o indirettamente, come con GRANT SELECT ON *.* TO ...
Senza SELECT permesso su questa tabella, un utente può vedere l'esistenza di procedure memorizzate e funzioni memorizzate solo se dispone di altre autorizzazioni, come EXECUTE .
Sotto il cofano, la mancanza di SELECT su mysql.proc impedisce inoltre all'utente di vedere le procedure a cui non ha accesso tramite information_schema.routines pseudo-tabella.
Non dovresti aver bisogno di GRANT SELECT ON mysql.proc per consentire all'utente di eseguire procedure o funzioni... e se lo fai, allora quello sembra la domanda.