MySQL无法从远程客户端连接

时间:2013-06-13 06:43:47

标签: java mysql mysql-workbench

我的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程序访问。

2 个答案:

答案 0 :(得分:0)

您必须使用服务器IP指定端口名称。

与hostIP:portNumber

类似

答案 1 :(得分:0)

Workbench和您的java程序就像任何其他客户端一样。那么你需要看看这两个客户端之间是否存在任何设置差异,可能是错误的凭据。