In MySQL you can not alter procedure rather you have to perform drop/create procedure to alter the body of the procedure. The problem is doing drop/create also removes the execute permissions given on that selected procedure.
Is there any way of giving permanent execute permissions that remains even after drop/create procedure.
A sample code to verify is as below
create procedure t1 ()
grant execute on procedure t1 to test1@'%';
call t1() works well, but if you run the above code after doing drop procedure first it gives permissions error.
Any help is much appreciated