我有一个私人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.强烈建议使用数据库源池,例如c3p0dbcp,某些属性(例如validateQuerytestOnBorrow)对于此问题非常有效。

10-04 15:49
查看更多