Да... това работи според очакванията, ако не предоставите на потребителя SELECT привилегия на mysql.proc таблица, пряко или косвено, като например с GRANT SELECT ON *.* TO ...
Без SELECT разрешение за тази таблица, потребителят може да види само съществуването на съхранени процедури и съхранени функции, когато имат други разрешения, като EXECUTE .
Под капака, липсата на SELECT на mysql.proc също не позволява на потребителя да вижда процедурите, до които няма достъп чрез information_schema.routines псевдо-таблица.
Не трябва да се налага да GRANT SELECT ON mysql.proc за да позволи на потребителя да изпълнява процедури или функции... и ако го направите, тогава това изглежда като въпроса.