Java 由于基础异常导致通信链路故障:连接超时
我的应用程序运行在Linux Mandriva上,无法连接到MySQL数据库 my.cnf的一部分:Java 由于基础异常导致通信链路故障:连接超时,java,mysql,linux,networking,jdbc,Java,Mysql,Linux,Networking,Jdbc,我的应用程序运行在Linux Mandriva上,无法连接到MySQL数据库 my.cnf的一部分: bind-address="127.0.0.1" # skip- networking 我设置了wait\u timeout,如下所示: SET GLOBAL wait_timeout = 28800; 我正在尝试连接到数据库: public class TestJdbc { public static void main(String[] args) { Conne
bind-address="127.0.0.1"
# skip- networking
我设置了wait\u timeout
,如下所示:
SET GLOBAL wait_timeout = 28800;
我正在尝试连接到数据库:
public class TestJdbc {
public static void main(String[] args) {
Connection conn = null;
String url = "jdbc:mysql://localhost:3306/";
String driver = "com.mysql.jdbc.Driver";
String dbName = "gibrid", userName = "java",
password = "java";
try {
Class.forName(driver).newInstance();
conn = DriverManager.getConnection(url+dbName, userName, password);
System.out.println("Connected to the database");
conn.close();
System.out.println("Disconnected from database");
} catch (Exception e) {
e.printStackTrace();
}
}
}
我将这个类打包在jar中并发送到服务器。当我尝试执行它时,我得到以下结果:
com.mysql.jdbc.CommunicationsException:
Communications link failure due to underlying exception:
** BEGIN MESSAGE **
java.net.ConnectException
MESSAGE: Connection timed out
STACKTRACE: java.net.ConnectException: Connection timed out
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:333)
...
但当我从本地主机运行此代码时,一切都正常:
Connected to the database
Disconnected from database
有什么问题吗?你能
远程登录到那台Linux服务器上的3306端口吗?这将告诉您是否有东西正在该端口上侦听
请注意,如果从Windows服务器运行代码,则会显示以下行:
jdbc:mysql://localhost:3306/";
表示您正在连接Windows计算机上的服务,而不是Linux计算机。在Linux服务器上,“netstat-an | grep 3306”的输出是什么