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 :)