Вторият ви опит е правилният подход:
GRANT EXECUTE ON PROCEDURE myDB.spName TO 'TestUser'@'localhost';
но ако това не работи, проверете ...
а) вие (потребителят, от който изпълнявате всички тези команди) имате права за предоставяне [т.е. С ОПЦИЯ НА GRANT]. Ако сте root, значи имате права за предоставяне.
б) съществува потребителят, на който давате разрешение за изпълнение, напр.
select user from mysql.user where user like 'test%';
Ако не, тогава създайте потребителя, напр.
CREATE USER 'TestUser'@'localhost' IDENTIFIED BY 'passwordxxxx';
#depending on your needs
GRANT SELECT,DELETE,UPDATE PRIVILEGES ON myDb.* TO 'TestUser'@'localhost';
Надявам се това да помогне :)