"Access denied for user" error when creating a procedure
From  MySQL Documention:


  The CREATE ROUTINE privilege is needed to create stored routines (procedures and functions).


Example:

GRANT CREATE ROUTINE, ALTER ROUTINE ON yourDB.* TO youUser;


Max