Вопрос по mysql – Разрешения хранимых процедур MySQL

18

Я пытаюсь дать пользователю разрешение на запуск хранимой процедуры на уровне хранимой процедуры в базе данных MySQL вместо того, чтобы позволить пользователю выполнить любую хранимую процедуру в базе данных. Я пытался выполнить следующий код:

GRANT EXECUTE ON myDB.spName TO 'TestUser'@'localhost';

Но я продолжаю получать следующую ошибку:

Illegal GRANT/REVOKE command, please consult the manual to see which privileges can be used.

Я попытался изменить его на следующее:

GRANT EXECUTE ON PROCEDURE myDB.spName TO 'TestUser'@'localhost';

И я получаю другую ошибку, заявляющую:

Cant find any matching rows in the user table.

Я не понимаю, где я иду не так?

Также на MySQL Workbench я не вижу способа предоставить разрешения на уровне хранимых процедур через графический интерфейс. Это правильно или я что-то упустил?

Заранее спасибо.

Ваш Ответ

2   ответа
29

GRANT EXECUTE ON PROCEDURE myDB.spName TO 'TestUser'@'localhost';

но если это не работает, проверьте

а) вы (пользователь, от которого вы запускаете все эти команды) обладаете правами    то есть с опцией GRANT. Если вы root, то его окей

б) Проверьте, существует ли пользователь, которому вы предоставляете разрешение на выполнение. e. г

 select user from mysql.user where user  like  'test%';

если нет, добавьте нового пользователя, например

CREATE USER 'TestUser'@'localhost' IDENTIFIED BY 'passwordxxxx';
#depending on you needs
GRANT SELECT,DELETE,UPDATE PRIVILEGES ON myDb.* TO 'TestUser'@'localhost'; 

надеюсь, это может помочь :)

Error: User Rate Limit Exceeded
Error: User Rate Limit ExceededGRANT EXECUTE ON PROCEDURE myDB.spName TO 'TestUser'@'localhost' identified by 'password';
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Olly
Error: User Rate Limit Exceeded Olly
1

у меня возникла та же проблема. Но после экспериментов я обнаружил, что если вы создаете роль и открываете вкладку привилегий внизу, вы можете перетащить подпрограмму из обзора модели в поле объектов. Оттуда просто нажмите на недавно добавленный объект и добавьте разрешения, которые вы хотите для этой роли.

Надеюсь, это поможет :)

Похожие вопросы