我有一个私人vps,vps是ubuntu 12.04,使用zpanel进行phpmyadmin,已设置为已运行MySQL数据库,但是当我尝试使用Java连接到数据库时,我无法接收消息:
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
成功发送到服务器的最后一个数据包是在0毫秒之前。驱动程序尚未收到来自服务器的任何数据包。”
这是我的连接代码:
package net;
import java.sql.*;
import javax.swing.JOptionPane;
public class LoginDatabaseConnection {
Connection conn = null;
public static Connection ConnectDB() {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://vps35560.vps.ovh.ca/zadmin_login", "*masked*","*masked*");
System.out.print("Connection Establish");
return conn;
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
System.out.println(e);
return null;
}
}
}
最佳答案
可能此问题的原因是数据库连接被破坏,以下是解决您问题的一些方法,
1.将autoReconnect=true
附加到数据库连接URL。
2.由于默认情况下MySQL的wait_timeout
长为8个小时,因此请尝试修改配置文件my.ini
使其更长,然后重新启动MySQL服务。
3.强烈建议使用数据库源池,例如c3p0,dbcp,某些属性(例如validateQuery
和testOnBorrow
)对于此问题非常有效。