Eu criei um procedimento armazenado simples:
mysql> CREATE FUNCTION hello (s CHAR(20))
-> RETURNS CHAR(50) DETERMINISTIC
-> RETURN CONCAT('Hello, ',s,'!');
Query OK, 0 rows affected, 1 warning (0.00 sec)
Mas não conseguiu executá-lo:
mysql> SELECT hello('world');
ERROR 1370 (42000): execute command denied to user ''@'localhost' for routine 'test.hello'
É possível que meu nome de usuário seja uma string vazia? Como crio usuários e concedo privilégios? Posso conceder a um usuário todos os privilégios em todas as entidades em um banco de dados?
fonte