wht do you mean by % host ? % in mysql means any hosts. when you create a new user to login to mysql, you should give users host. when this user wants to connect to mysql, it will be authenticated by it's name, pass and host. when you want your user to login from many different hosts, you give "%" for its host. when this user wants to connect, he/she gives his/her IP address or hostname and then he/she can connect 'cause his/her hostname is correct.
so you shouln not give % but you should give a valid IP which is ou hosts IP.