通过网络使用JDBC连接到MySQL

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

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 

有谁知道这个问题是什么? 我需要添加不同的地址吗? 我已经添加了带有地址的默认端口但无法使其工作。

谢谢你的帮助。

  1. 检查my.cnf [mysqld]设置中的参数port, bind-address ,socket,以确保它们不会导致问题。
  2. 检查文件/ etc / hosts,/ etc / hosts.deny以确保一切正常。
  3. 检查防火墙应用
  4. 检查以确保mysqld的任何目录都具有适当的权限。
  5. 检查以确保mysql数据库(用户表)中的安全设置允许从远程主机进行访问。
  6. 确保您可以telnet OK到localhost 3306,127.0.0.1 3306,以及您的机器配置的任何其他IP地址(使用ifconfig查找)。

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

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

请参阅此处的整个过程。

您可以使用MySQL Workbench或mysql客户端测试服务器设置,这将缩小问题范围。 有时只看服务器在那里是有用的:

telnet host 3306

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