He creado un procedimiento almacenado simple:
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)
Pero no pudo ejecutarlo:
mysql> SELECT hello('world');
ERROR 1370 (42000): execute command denied to user ''@'localhost' for routine 'test.hello'
¿Es posible que mi nombre de usuario sea una cadena vacía? ¿Cómo creo usuarios y otorgo privilegios? ¿Puedo otorgarle a un usuario todos los privilegios en todas las entidades dentro de una base de datos?
fuente