2番目の試みは正しいアプローチです:
GRANT EXECUTE ON PROCEDURE myDB.spName TO 'TestUser'@'localhost';
しかし、それが機能しない場合は、確認してください...
a)あなた(あなたがこれらすべてのコマンドを実行しているユーザー)は付与権を持っています[すなわち、GRANTOPTION付き]。ルートの場合は、付与権があります。
b)実行権限を付与しているユーザーが存在します(例:
) 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';
これがお役に立てば幸いです:)