我的MySQL服务器在IP地址为181.2.3.5的机器上运行,我在其上运行了一个名为affablebean
的数据库。我可以从同一台机器连接。但是,当我尝试远程访问它以部署Java应用程序但我收到以下错误:
内部异常:java.sql.SQLException:分配连接时出错。原因:无法分配连接,因为:用户'root'@'181.2.3.4'拒绝访问(使用密码:是)
两个系统都在局域网上。我尝试了以下查询来授予privellages:
GRANT ALL ON *.* to 'root'@'%' IDENTIFIED BY 'sql123';
flush privileges;
也低于事物:
GRANT ALL ON *.* to 'root'@'181.2.3.4' IDENTIFIED BY 'sql123';
flush privileges;
但我仍然得到同样的错误,我尝试重新启动mysql服务,但仍然不接受连接。
Btw Server正在运行Windows XP,客户端正在Windows 7上运行。我也尝试过以下查询:
mysql> use mysql;
mysql> SELECT host FROM user WHERE user = 'root';
它正确返回我的IP地址。但仍然是同样的错误。谁能指导我?我尝试了各种SO问题的上述解决方案。
注意:上面的IP地址和用户名只是一个占位符来说明。
编辑:我可以从Workbench访问,但我无法从Java程序访问。
答案 0 :(得分:0)
您必须使用服务器IP指定端口名称。
与hostIP:portNumber
类似答案 1 :(得分:0)
Workbench和您的java程序就像任何其他客户端一样。那么你需要看看这两个客户端之间是否存在任何设置差异,可能是错误的凭据。