- PVSM.RU - https://www.pvsm.ru -

Доступ к телам хранимых процедур MySQL

Пару раз сталкивался с ошибкой при вызове хранимых процедур:

User does not have access to metadata required to determine stored procedure parameter types. If rights can not be granted, configure connection with «noAccessToProcedureBodies=true» to have driver generate parameters that represent INOUT strings irregardless of actual parameter types.

Решение, предлагаемое в тексте исключения — использовать параметр noAccessToProcedureBodies в строке подключения (отключение доступа), но меня интересовал вопрос, как дать доступ к телам процедур.
Характерно, что по тексту вышеприведенной ошибки находится огромное количество ссылок, большинство которых описывает, как правильно прописать параметр в URL подключения.
А решение оказалось очень простым: все процедуры хранятся в таблице `mysql`.`proc`, соответственно надо всего лишь выполнить комманду:

GRANT SELECT ON `mysql`.`proc` to 'myuser'@'myhost';

Немного неожиданно, поскольку по привычке думаешь, что GRANT ALL уже все должен был решить.

Автор: 0xBA0BAB


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/razrabotka/12559