2009-11-09 175 views
1

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

无法添加连接,无法建立JDBC连接的:mysql://192.168.1.14:3306 /测试使用(CommunicationsException:通信链路故障

最后的分组发送到服务器是0毫秒前

请,请帮帮我。提前

感谢

回答

0

MySQL是标准的保护,所以你不能远程访问它。你必须给予的MySQL,以及连接到从MySQL访问用户在M之外ySQL机。

0

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

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

例如telnet 192.168.1.14 3306

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

+0

你好大脑阿格纽, 我试着按照你所说的。但它显示以下内容 C:\ Documents and Settings \ Net Cafe> telnet 192.168.1.14 3306 正在连接到192.168.1.14 ...无法打开到主机的连接,在端口3306上 :连接失败 –

+0

因此,无论您没有路由(ping工作)或MySql没有在该端口上监听(可能在另一个端口上监听,或者根本不在监听) –

1

mysql forums

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

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

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

mysql> GRANT ALL ON foo.* TO [email protected]'202.54.10.20' IDENTIFIED BY 'PASSWORD'; 

此外,也有连接到Windows Vista中的MySQL数据库时报告的问题,但我不知道这阉是有关这种情况下,还是不行。

+0

您的解决方案可以很好地工作在某些局域网系统上。所以非常感谢你。但是现在我用清晰的方式解决了上述问题。现在我停止了防火墙,它工作正常。你能帮我如何编辑防火墙设置,以接受/拒绝传入和传出的TCP/IP连接..... –

+0

恐怕我对防火墙知之甚少。 –

1

你有ssh访问服务器吗?我会运行使用ssh,砰砰或腻子隧道(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地址,而不是只监听本地主机。

+0

+1表示mysql可以配置为只在本地主机上侦听,所以没有“GRANT ...”和没有防火墙配置会有帮助。咬过我一次。 –