解决MYSQL远程连接报错:错误1130- Host is not allowed to connect

一、用权限方法



GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; // %:表示从任何主机连接到mysql服务器


FLUSH   PRIVILEGES;

二、指定IP访问



GRANT ALL PRIVILEGES ON *.* TO 'user'@'103.155.122.1' IDENTIFIED BY 'password' WITH GRANT OPTION;//表示从指定ip从任何主机连接到mysql服务器


FLUSH   PRIVILEGES;

三、利用改表方法法


可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入MySQL后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"

mysql -u root -p
mysql>use mysql;
mysql>update user set host = '%' where user = 'root'  and host='localhost';
mysql>select host, user from user;

然后重启MySQL服务。或再执行 执行一个语句 mysql>FLUSH RIVILEGES 使修改生效。