一 使用环境
假设自己这台机子的IP = 192.168.10.10,局域网内另一台IP=192.168.10.20;
使用MYSQL连接本地数据库的时候,可以使用配置:localhost/127.0.0.1/192.168.10.10 +正确的数据库用户名和密码。
假如 需要连接20这台机子的时候,那么问题来了?
报错信息: java.sql.SQLException: null, message from server: "Host '192.168.10.10' is not allowed to connect to this MySQL server"
二 解决办法:
java.sql.SQLException: null, message from server: "Host 'xxx' is not allowed to connect to this MySQL server":
表示该对象不是远程对象,不能通过该对象远程访问数据
方案一:改表:
use mysql ;select user,host,password from user;
update user set host = '%' where user='root';
方案二:授权法:
如果你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
表示该对象不是远程对象,不能通过该对象远程访问数据
方案一:改表:
use mysql ;select user,host,password from user;
update user set host = '%' where user='root';
方案二:授权法:
如果你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
如果你想允许用户myuser从ip为192.168.10.20的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.10.20' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
需要重启mysql数据库。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.10.20' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
需要重启mysql数据库。