message from server: "Host is not allowed to connect to this MySQL server"解决办法

远程登陆数据库 如:MySQL 连接远程数据库(192.168.5.116),端口“3306”,用户名为“root”,密码“123456”

C:/>mysql -h 192.168.5.116 -P 3306 -u root -p123456
JDBC获取连接时这个URL如果采用本机的IP登陆会报错
String url=“jdbc:mysql://192.168.5.240:3306/mydb”;
是因为我们数据库安装完成后,默认是不能远程登陆的
你只能采用本地登陆 你只能写localhost 或者127.0.0.1
如果你想要远程登陆那你得修改一下数据库,让其能够远程登陆
修改完之后重启一下MySQL服务
修改方式入下

报错:1130-host … is not allowed to connect to this MySql server
解决方法:

  • 1. 改表法。
    可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从"localhost"改称"%"
    mysql -u root –p123456
    mysql>use mysql;
    mysql>update user set host = ‘%’ where user = ‘root’;
    mysql>select host, user from user;
    mysql>FLUSH RIVILEGES
  • 2. 授权法。

例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON . TO ‘myuser’@’%’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;
FLUSH PRIVILEGES;

如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON . TO ‘myuser’@‘192.168.1.3’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;
FLUSH PRIVILEGES;

如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器的dk数据库,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON dk.* TO ‘myuser’@‘192.168.1.3’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;
FLUSH PRIVILEGES;

你可能感兴趣的:(message from server: "Host is not allowed to connect to this MySQL server"解决办法)