El código fuente para los procedimientos almacenados que has estado cargando probablemente contiene "DEFINER = root @ '%'" como parte de la definición - buscando un poco como esto:
create definer='root'@'%' procedure sp_test() begin end;
El problema aquí es que no tienes una cuenta en tu sistema para 'root' @ '%'. Esto se puede demostrar fácilmente. Desde la línea de comandos de MySQL:
show grants for 'root'@'%';
espero que esto va a volver con un mensaje de error:
ERROR 1141 (42000): There is no such grant defined for user 'root' on host '%'
La solución es alterar la fuente de sus procedimientos almacenados, o para crear la cuenta de que faltan :
grant all on *.* to 'root'@'%' identified by 'password' with grant option;
no es generalmente una buena idea tener una cuenta de este tipo de alta potencia accesible desde cualquier lugar, pero eso es otra historia.
+1 ¡agradable! Tenía una idea de que tenía que ver con la especificación del host en el nombre de usuario. Veremos si eso lo ordena. –