2015-01-01 3 views
0

개인용 vps를 가지고 있습니다. vps는 phpmyadmin 용 zpanel을 사용하는 우분투 12.04입니다. 이미 MySQL 데이터베이스를 실행하도록 설정되어 있지만 Java로 데이터베이스에 연결하려고하면받을 수 없습니다. 메시지 :MySQL 데이터베이스에 연결할 수 없습니다.

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 

서버에 성공적으로 마지막으로 보낸 패킷은 0 밀리 초 전입니다. 드라이버는 서버에서 모든 패킷을받지 못한 "이것은 내 연결 코드

:.

어쩌면이 문제에 대한 이유는 DB 연결이 여기에 파괴되는 문제에 대한 몇 가지 방법이 있습니다
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; 
     } 
    } 
} 
+0

얼마나 오래 실행 했습니까? –

+0

이 오류는 시작할 때 표시됩니다. –

+0

연결 URL에 베어 IP 주소를 사용하여 시도해보십시오. mysql 드라이버는 해당 호스트 이름 (vpn 전송 구성과 관련된 일반적인 문제 일 수 있음)의 주소를 확인할 수 없을 수도 있습니다. – him

답변

0

,
데이터베이스 연결 URL에 1. APPEND autoReconnect=true.
이 MySQL을 기본적으로 8시간 긴 wait_timeout의이다 인해 2, 그래서 더 오래, 다음 MySQL의 서비스를 다시 시작하기 위해 구성 파일 my.ini을 수정하려고합니다.
3 그것은 강력하게 추천합니다. 데이터베이스 소스 풀을 사용하십시오. c3p0, dbcp, validateQuerytestOnBorrow과 같은 일부 속성은이 문제에 매우 효과적입니다.

+0

autoReconnect = true를 추가했지만 여전히 작동하지 않습니다. wait_timeout 나는 그것을 24 시간으로 변경했다고 생각한다. 그게 뭔지 모르겠다. 나를 위해 정교하게 써 줄 수 있니? 또한 http://dev.mysql.com/downloads/connector/에서 MySQL 커넥터를 사용하고있다. j가 도움이된다면 –

+0

은 다른 두 가지 방법을 시도해 볼 수 있으며 세 번째 방법은 응용 프로그램에 절대적으로 적용됩니다. @Mike Nguyen –

+0

1과 2의 방법을 수행했지만 3 방법을 수행하는 방법을 혼동했습니다. –

관련 문제