El usuario debe ser creado con permisos para conectarse
desde un host al server, lo que significa que tanto el crearlo como el GRANT deben llevar el formato username'@'host, donde host es en tu caso la IP
desde donde se conecta.
El login no debería llevar el @host, ya que el sistema le está informando al server desde donde está entrando el pedido al momento de definirse la cadena de conexión. También es allí donde se configura el puerto de entrada.
Lo que si debes hacer es darle los permisos (SELECT, EXECUTE, etc), porque de lo contrario no podrá hacer nada.
Dale una leida a:
5.7. Gestión de la cuenta de usuario MySQL 13.5.1.3. Sintaxis de GRANT y REVOKE