Workaround:
1. Change the table method. It may be that your account is not allowed to log on remotely, only on localhost. This time, as long as the computer on the localhost, log in to MySQL, change the "MySQL" Database in the "User" table "host", from "localhost" to "%"
Mysql-uroot-p123456>
Use MySQL;
Mysql>update User Set host = '% ' where user = ' root ';
2. Authorization law. For example, if you want to myuser use MyPassword to connect to a MySQL server from any host.
GRANT all privileges on * * to ' myuser ' @ ' percent ' identified by ' MyPassword ' with GRANT OPTION;
If you want to allow users to connect to the MySQL server from a host myuser IP 192.168.1.158 and use MyPassword as the password
GRANT all privileges on * * to ' root ' @ ' 192.168.1.158 ' identified by ' 123456 ' with GRANT OPTION;
ERROR 1130:host ' xxxx ' is not allowed to connect to this MySQL server