2010-11-25 20 views
2

我试图通过网络连接到MySQL数据库。我已经安装了MySQL,并且该服务正在默认端口上运行。我还将SQL连接器安装到jar文件并将java JDK添加到服务器计算机。我能够使用的代码连接到我的本地数据库:通过网络使用JDBC连接到MySQL

private String dbUrl = "jdbc:mysql://localhost/DatabaseName"; 
private String dbClass = "com.mysql.jdbc.Driver"; 

但是,当我尝试连接到它通过网络,与IP地址(例如:192.168.1.45):

private String dbUrl = "jdbc:mysql://192.168.1.45/DatabaseName"; 
private String dbClass = "com.mysql.jdbc.Driver"; 

我得到连接错误:

Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 

有没有人知道这个问题是什么?我需要添加一个不同的地址吗? 我已经添加了地址的默认端口,但无法让它工作。

感谢您的任何帮助。

+0

http://forums.mysql.com/read.php?39,199085,204628#msg-204628 – zengr 2010-11-25 12:23:35

回答

2
  1. 检查参数端口my.cnf中的[mysqld]设置,绑定地址,插座,以确保这些都不是造成问题。
  2. 检查文件/ etc/hosts,/etc/hosts.deny以确保一切正常。
  3. 检查防火墙应用程序
  4. 检查以确保任何目录mysqld的套接字都具有适当的权限。
  5. 检查以确保mysql数据库(用户表)中的安全设置允许从远程主机访问。
  6. 请确保您可以telnet到本地主机3306,127.0.0.1 3306以及您的计算机配置的任何其他IP地址(使用ifconfig查找)。
3

默认情况下,MySQL不允许远程访问,只允许本地访问。 您将有修改/etc/mysql/my.cnf配置(在Linux上):

bind-address = 192.168.1.45 // Your Server IP address 
# skip-networking // This should be commented . 

看到整个过程here

0

您可以使用MySQL Workbench或MySQL客户端来测试服务器设置,这将缩小问题的范围。这也是有时可以进去看看服务器的有:

telnet host 3306

它会告诉你的服务器的版本号和其他一些二进制垃圾。足以知道你的主人正在倾听。