我正在尝试通过网络连接到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
有谁知道这个问题是什么?我需要添加不同的地址吗? 我已经添加了带有地址的默认端口,但无法使其工作。
感谢您的帮助。
答案 0 :(得分:3)
默认情况下,MySQL不允许远程访问,只允许本地访问。 您必须使用以下命令修改/etc/mysql/my.cnf配置(在Linux上)
bind-address = 192.168.1.45 // Your Server IP address
# skip-networking // This should be commented .
查看整个程序here。
答案 1 :(得分:2)
答案 2 :(得分:0)
您可以使用MySQL Workbench或mysql客户端测试服务器设置,这将缩小问题范围。有时看看服务器是否有用是有用的:
telnet host 3306
它会告诉你服务器的版本号和其他一些二进制垃圾。足以让你知道你的主人在听。