远程MYSQL数据库访问

时间:2009-11-09 11:46:28

标签: java mysql

我在java中开发了一个访问远程mysql数据库的应用程序。我正在通过运行该wamp服务器的系统的netbeans IDE运行它。但是当我尝试通过netbeans将另一个系统连接到远程系统数据库时,它显示以下错误。

无法添加连接,无法建立与jdbc的连接:mysql://192.168.1.14:3306 / test using(CommunicationsException:Communications link failure

发送到服务器的最后一个数据包是0毫秒前。

请帮助我。

先谢谢

4 个答案:

答案 0 :(得分:1)

来自mysql forums

  

你可能会得到这个,因为(1)数据库的URL错误,因为(2)数据库未设置为接受来自Web主机的连接,或者因为(3)某些中间网络组件配置错误。 (1)是你的问题; (2)和(3)可能是您的问题或Web托管问题,具体取决于数据库所在的位置,您拥有的数据库管理权限以及网络的设置方式。

您需要拥有能够远程连接MySQL的正确权限。有几种工具可供设置。

Here是一篇文章,概述了最常需要授权步骤的几个步骤。

mysql> GRANT ALL ON foo.* TO bar@'202.54.10.20' IDENTIFIED BY 'PASSWORD';

在Windows Vista中连接到MySQL数据库时也报告了一些问题,但我不确定这与这种情况有关。

答案 1 :(得分:1)

您是否拥有对服务器的ssh访问权限?我会用ssh,plink或putty运行一个隧道(ssh -L 3305:127.0.0.1:3306 192.168.1.14)然后使用这个连接url

jdbc:mysql://127.0.0.1:3305/test

如果我们了解您的操作系统,那么协助会更容易。

如果这是部署情况,从您的IP地址打开端口3306的防火墙可能是正确的。在linux中,您可能会在/ etc / sysconfig / iptables中找到设置,但您的系统管理员可能还有其他安全防护。您还必须验证mysql实际上是在侦听IP地址,而不仅仅是localhost。

答案 2 :(得分:0)

MySQL受标准保护,因此您无法远程访问它。您必须授予MySQL以及从MySQL机器外部连接到MySQL访问的用户。

答案 3 :(得分:0)

也许是一个低级网络问题。

你可以ping那个IP吗? 你能telnet到那个IP /端口吗?

e.g。 telnet 192.168.1.14 3306

确定您是否可以与机器通信以及是否可以在该计算机上创建与MySQL进程的基本TCP连接将告诉您很多 - 您的网络是否正常,是在该端口上侦听的进程等。