Как стать автором
Обновить

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

Время на прочтение1 мин
Количество просмотров1.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 уже все должен был решить.
Теги:
Хабы:
Всего голосов 13: ↑8 и ↓5+3
Комментарии0

Публикации

Истории

Ближайшие события

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
11 сентября
Митап по BigData от Честного ЗНАКа
Санкт-ПетербургОнлайн
14 сентября
Конференция Practical ML Conf
МоскваОнлайн
19 сентября
CDI Conf 2024
Москва
20 – 22 сентября
BCI Hack Moscow
Москва
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн
25 сентября
Конференция Yandex Scale 2024
МоскваОнлайн
28 – 29 сентября
Конференция E-CODE
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн