Pull to refresh

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

Reading time1 min
Views1.9K
Пару раз сталкивался с ошибкой при вызове хранимых процедур:
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 уже все должен был решить.
Tags:
Hubs:
Total votes 13: ↑8 and ↓5+3
Comments0

Articles