2014-07-11 23 views
5

Ich weiß, dass diese Frage schon einmal gestellt wurde und es gibt viele Lösungen, aber keine funktionierte für mich und es ist ein bisschen anders in meinem Fall.Kommunikationsverbindungsfehler - letztes Paket, das erfolgreich vom Server empfangen wurde, war

Ich habe einen Server mit Datenbanken, die zu anderen Servern getunnelt werden. Die Server, die Ubuntu 1310 und 1204 ausführen, haben keine Probleme. Aber mit dem gleichen Setup, den gleichen configs, die gleiche Anwendung, bekomme ich dieses Problem auf 1404

Server Setup:

A - Ubuntu 1204 Server with MariaDB 10.0 Database 
    B - Ubuntu 1204 Server with MariaDB 5.5 Client -> tunneled via autossh 14c and works perfect 
    C - Ubuntu 1204 Server with MariaDB 5.5 Client -> tunneled via autossh 14c and works perfect 
    D - Ubuntu 1310 Server with MariaDB 5.5 Client -> tunneled via autossh 14c and works perfect 
    E - Ubuntu 1310 Server with MariaDB 5.5 Client -> tunneled via autossh 14c and works perfect 
    F - Ubuntu 1310 Server with MariaDB 5.5 Client -> tunneled via autossh 14c and works perfect 
    D - Ubuntu 1404 Server with MariaDB 5.5 Client (also tried mysql 5.5 and mariadb 10.0) -> tunneled via autossh 14c DOES NOT WORK though same setup and app: 

.

2014-07-11 16:02:51 [SEVERE] com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 

The last packet successfully received from the server was 141 milliseconds ago. The last packet sent successfully to the server was 0 milliseconds ago. 
2014-07-11 16:02:51 [SEVERE] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
2014-07-11 16:02:51 [SEVERE] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 
2014-07-11 16:02:51 [SEVERE] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
2014-07-11 16:02:51 [SEVERE] at java.lang.reflect.Constructor.newInstance(Constructor.java:526) 
2014-07-11 16:02:51 [SEVERE] at com.mysql.jdbc.Util.handleNewInstance(Util.java:407) 
2014-07-11 16:02:51 [SEVERE] at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1116) 
2014-07-11 16:02:51 [SEVERE] at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3082) 
2014-07-11 16:02:51 [SEVERE] at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2968) 
2014-07-11 16:02:51 [SEVERE] at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3516) 
2014-07-11 16:02:51 [SEVERE] at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986) 
2014-07-11 16:02:51 [SEVERE] at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140) 
2014-07-11 16:02:51 [SEVERE] at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2620) 
2014-07-11 16:02:51 [SEVERE] at com.mysql.jdbc.ConnectionImpl.setAutoCommit(ConnectionImpl.java:5022) 
2014-07-11 16:02:51 [SEVERE] at sun.reflect.GeneratedMethodAccessor85.invoke(Unknown Source) 
2014-07-11 16:02:51 [SEVERE] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
2014-07-11 16:02:51 [SEVERE] at java.lang.reflect.Method.invoke(Method.java:606) 
2014-07-11 16:02:51 [SEVERE] at org.apache.tomcat.jdbc.pool.ProxyConnection.invoke(ProxyConnection.java:126) 
2014-07-11 16:02:51 [SEVERE] at org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:109) 
2014-07-11 16:02:51 [SEVERE] at org.apache.tomcat.jdbc.pool.DisposableConnectionFacade.invoke(DisposableConnectionFacade.java:80) 
2014-07-11 16:02:51 [SEVERE] at com.sun.proxy.$Proxy76.setAutoCommit(Unknown Source) 
2014-07-11 16:02:51 [SEVERE] at me.botsko.prism.actionlibs.RecordingTask.insertActionsIntoDatabase(RecordingTask.java:174) 
2014-07-11 16:02:51 [SEVERE] at me.botsko.prism.actionlibs.RecordingTask.save(RecordingTask.java:35) 
2014-07-11 16:02:51 [SEVERE] at me.botsko.prism.actionlibs.RecordingTask.run(RecordingTask.java:332) 
2014-07-11 16:02:51 [SEVERE] at org.bukkit.craftbukkit.v1_6_R3.scheduler.CraftTask.run(CraftTask.java:58) 
2014-07-11 16:02:51 [SEVERE] at org.bukkit.craftbukkit.v1_6_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53) 
2014-07-11 16:02:51 [SEVERE] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
2014-07-11 16:02:51 [SEVERE] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
2014-07-11 16:02:51 [SEVERE] at java.lang.Thread.run(Thread.java:744) 
2014-07-11 16:02:51 [SEVERE] Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. 
2014-07-11 16:02:51 [SEVERE] at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2529) 
2014-07-11 16:02:51 [SEVERE] at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2979) 
2014-07-11 16:02:51 [SEVERE] ... 21 more 
2014-07-11 16:02:51 [INFO] [Prism]: Database connection error: Communications link failure 

Mehr stacktraces, immer die erste Ausnahme von einer frischen Anwendungssitzung (Neustart) https://gist.github.com/Slind14/cd5a03ec289c30b1452e

Da ich keine Lösung finden konnte, ich frage mich, wenn Sie zwischen 1310 Kenntnis von einer Änderung sind und 1404, die dies verursachen könnten.

+-----------------------------+----------+ 
| Variable_name    | Value | 
+-----------------------------+----------+ 
| connect_timeout    | 5  | 
| deadlock_timeout_long  | 50000000 | 
| deadlock_timeout_short  | 10000 | 
| delayed_insert_timeout  | 300  | 
| innodb_flush_log_at_timeout | 1  | 
| innodb_lock_wait_timeout | 50  | 
| innodb_rollback_on_timeout | OFF  | 
| interactive_timeout   | 28800 | 
| lock_wait_timeout   | 31536000 | 
| net_read_timeout   | 30  | 
| net_write_timeout   | 60  | 
| slave_net_timeout   | 3600  | 
| thread_pool_idle_timeout | 60  | 
| wait_timeout    | 28800 | 
+-----------------------------+----------+ 

Update:

, wenn ich die Remote-Datenbank für eine Weile offen halten ich auch „MySQL Server ist verschwunden“, wieder nur auf den 1404-Servern.

ERROR 2006 (HY000): MySQL server has gone away 
No connection. Trying to reconnect... 
Connection id: 38189 
Current database: *** NONE *** 
+1

können Sie zugreifen und kommunizieren mit dem MySQL-Server mit cmd? – dit

+0

sicher, die Tabelle in Post funktionierte gut aus dem Remote-Server zum Beispiel und die Anwendungen funktionieren auch gut für einen Moment. Wenn es meine Anwendung wäre, könnte ich einfach überprüfen, ob die Verbindung gültig ist und wenn keine neue erstellen oder automatische Verbindung aktivieren, aber dies beantwortet nicht, warum es nur auf 1404 auftritt und ist keine Lösung für mich mit Anwendungen von Drittanbietern. – user2693017

+0

versuchen Sie, den Abfragecache "query_cache_size = 0" in Ihrer my.cnf zu deaktivieren, starten Sie den mysql-Server neu und versuchen Sie es erneut. Sie könnten auch versuchen, den Abfrage-Cache wie folgt zurückzusetzen: "Abfrage-Cache zurücksetzen". Wenn nicht, bitte geben Sie weitere Informationen über die Abfrage, wie Sie eine Sitzung usw. erstellen ... – dit

Antwort

Verwandte Themen