0

我的 MySQL 服务器在 IP 地址为 181.2.3.5 的机器上运行,并且我有一个名为affablebeanrunning 的数据库。我可以通过同一台机器进行连接。但是,当我尝试远程访问它以部署 java 应用程序时,却出现以下错误:

内部异常:java.sql.SQLException:分配连接时出错。原因:无法分配连接,因为:用户'root'@'181.2.3.4'的访问被拒绝(使用密码:YES)

两个系统都在 LAN 上。我尝试了以下查询来授予特权:

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 服务,但它仍然不接受连接。

顺便说一句,服务器运行的是 Windows XP,客户端运行的是 Windows 7。我还尝试了以下查询:

mysql> use mysql;
mysql> SELECT host FROM user WHERE user = 'root';

它正确返回我的IP地址。但仍然是同样的错误。谁能指导我?我从各种 SO 问题中尝试了上述解决方案。

注意:以上IP地址和用户名只是一个占位符来说明。

编辑:我可以从 Workbench 访问,但我无法从 Java 程序访问。

4

2 回答 2

0

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

像 hostIP:portNumber

于 2013-06-13T07:00:22.267 回答
0

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

于 2013-06-13T07:13:18.070 回答