Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Berechtigungen für gespeicherte MySQL-Prozeduren

Ihr zweiter Versuch ist der richtige Ansatz:

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

aber wenn das nicht funktioniert, überprüfen Sie ...

a) Sie (der Benutzer, von dem aus Sie alle diese Befehle ausführen) haben Gewährungsrechte [d. h. MIT GRANT OPTION]. Wenn Sie root sind, haben Sie Grant-Rechte.

b) der Benutzer existiert, dem Sie die Ausführungsberechtigung erteilen, z. B.

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

Wenn nicht, erstellen Sie den Benutzer, z. B.

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

Hoffe das hilft :)