MYSQL Communications link failure


#1

Hallo zusammen,

brauch nochmal eure geschätze Hilfe!

Mein Programm läuft auf Java EE und Wildfly, es verbindet sich mit externen Datenbanken alle paar Stunden und macht da was. Nun ging heute alles wunderbar bis ca 14 Uhr, dann ging nichts mehr. wenn ich das Programm anstoßen wollte um DB Verbindungen aufzubauen, kam immer nur:

Communications link failure

Was aber davor funktioniert hat. Starte ich wildly neu, geht es wieder. Bekomme leider keine andere Fehlermeldung und weiß grad nicht in welche Richtung ich ermitteln soll.

Hat jemand eine Idee, die diese Fehlermeldung auslösen kann?


#2

Hi,

ich befürchte ohne Code geht hier gar nichts. Wie baust du die Verbindung auf? Händisch, per WIldfly Datasource? Wie sieht der Stack Trace um deine Fehlermeldung herum aus?

Gruß
Tim


#3

Diese Datenverbindung wird manuell aufgebaut (andere zur eigenen DB per Datasource)

Das muss ein konfigurationsproblem sein, da dies erst auftaucht seit es auf dem neuen Server läuft. Auf dem alten ging es ohne diese Probleme. Habe was gelesen, dass in der my.cnf die bind adresse geändert werden soll, aber was oll das mit externen Datenbanken zu tun haben?!
Wo anders sagte man mir, ich solle den Port nicht explizit in im string angeben, hab ich mal getan, muss ich aber nun wieder beobachten.

Jetzt fiel mir noch was auf:
Habe eine Funktion die alle DB EInträge (local, datasource) updated (nur ein Flag ändern von 1 auf 0 in ca 50 Einträgen). Klicke ich auf den auslösenden Button, lääääädt und lääääädt es, aber das Update wird nicht gemacht. Das gabs auch vor dem Serverumzug nicht, muss also iiirgenwas anders sein. Diese Connections werden gepooled. Werden aber überall geschlossen. Processlist von Mysql zeigt auch 51 Processe an, die aber schlafen (sollten die pool prozesse sein oder?)

Hier mein Dataasource aus der standalone.xml ist die soweit ok?

<datasource jta="true" jndi-name="java:/myDB" pool-name="myDB" enabled="true" use-ccm="false">
                    <connection-url>jdbc:mysql://localhost:3306/myDB</connection-url>
                    <driver-class>com.mysql.jdbc.Driver</driver-class>
                    <driver>mysql-connector-java-5.1.45-bin.jar_com.mysql.jdbc.Driver_5_1</driver>
                    <transaction-isolation>TRANSACTION_READ_UNCOMMITTED</transaction-isolation>
                    <pool>
                        <min-pool-size>50</min-pool-size>
                        <max-pool-size>50</max-pool-size>
                        <prefill>true</prefill>
                        <flush-strategy>Gracefully</flush-strategy>
                    </pool>
                    <security>
                        <user-name>user</user-name>
                        <password>pass</password>
                    </security>
                    <validation>
                        <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker"/>
                        <background-validation>true</background-validation>
                        <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter"/>
                    </validation>
                </datasource>

und ich bekomme diese Mledung neuerdings Lock wait timeout exceeded; try restarting transaction
Daher klappt das Flag-Update auch nicht schätz ich