Problem: mysql-Connection mit jdbc Treiber

L

lol

Aktives Mitglied
Thread Starter
Dabei seit
18.01.2006
Beiträge
1.602
Reaktionspunkte
78
Folgendes Problem:
Ich möchte Lokal auf eine mysql-DB zugreifen, die auf all-inkl gehostet ist.
Von außen kommt man drauf, all-inkl ist in diesem Punkt einer der wenigen Ausnahmen. - Erfolgreich getestet mit einem kleinen Win-Tool: heidisql

nun stricke ich meinen Connectionstring zusammen:
jdbc:mysql:{URL_ohneWWW}:3306/{datenbank}

Ich erhalte dann folgende Exception:
Code:
SQLException: Communications link failure

Last packet sent to the server was 0 ms ago.
SQLState: 08S01
VendorError: 0

Wenn ich den connection String baue, der pw und usr enthält, dann dauert es länger, bis die ex geworfen wird, im Gegensatz zu der getConnection(url, usr, pw).
Was mache ich falsch?
 
Zuletzt bearbeitet:
Moin,

der ConnectionString sieht für mich in Ordnung aus.
Ist denn MySQL richtig eingestellt? Per Default, nimmt der MySQL-Server nämlich nur Verbindungen von 127.0.0.1 (localhost) an.

Das kannst du ändern, wenn du in der my.cnf den Eintrag "bind-address" entfernst. Wenn der Server im Internet steht, ist das allerdings nicht wirklich ratsam. Hat dein Client eine Feste IP, kannst du die dort eintragen.

Die my.cnf ist bei Unix-artigen Systemen in /etc/my.cnf oder /etc/mysql/my.cnf zu finden.
Bei Windows ist sie entweder in \Windows\my.cnf oder im Bin-Verzeichnis des MySQL-Servers, oder komplett wo anders.

Sollte das Ändern/Entfernen von bind-address nicht helfen, ist evtl. eine Firewall aktiv.


Gruß Fabian
 
Es ist eine DB, die bei einem Webhoster liegt, die von außerhalb erreichbar ist. Wie ich oben schrieb, ist die DB definitv nach außen offen, denn ich komme mit heidisql - einem Windows Tool - drauf.
 
Hast du schon mal probiert, ob du eine JDBC-Verbindung im lokalen Netzwerk oder auf deinem Client-Rechner (also localhost) hin bekommst?
 
ja, das hat geklappt.
 
  • Gefällt mir
Reaktionen: lol
Lassen die Tables der Datenbank einen Zugriff von Aussen zu?

Bei Java Zugriffen prüft der Security Manager des mySql-Servers gegen die Rechte der Tabellen, ob der Zugriff erlaubt ist.
 
Zuletzt bearbeitet:
Hi lol,

evtl. gibt es ein Problem mit den Versionen von MySQL und JDBC.

Probier mal mit den verschiedenen Versionen der JDBC-Connectoren von MySQL etwas rum.
http://dev.mysql.com/downloads/connector/j/5.1.html

Vielleicht kann dir auch die Troubleshooting seite vom JDBC-Connector helfen.
http://dev.mysql.com/doc/refman/5.1/de/connector-j-usagenotes-troubleshooting.html

Ansonsten weiß ich leider auch nicht weiter.


Gruß Fabian

Der Hammer, es lag tatsächlich an der Treiberversion. Ich bin auf 3.1.2 runter gegangen, und nun läuft es! - Ich bin dir wirklich dankbar, sollten wir uns mal über den Weg laufen, gibts einen Drink von mir :)

- Da sammelt man nun einiges an Erfahrung, und steht doch wieder wie ein Ochs vorm Berg.
Bäume - Wald - AAAAAH
 
Zuletzt bearbeitet:
Zurück
Oben Unten