Wie zu verbinden, XAMPP MySQL lokalen DB per JDBC?
Habe ich in diesem Tetris-Spiel in Java geschrieben, nutzt die DB auf Rekordhoch erzielt. Es funktionierte ok, solange ich mich mithilfe von remote MySQL DB, aber ich bin jetzt versuchen, localhost DB mit XAMPP-MySQL und es läuft wie "SQLException: Communications link failure" at-Befehl:
con = java.sql.DriverManager.getConnection("jdbc:mysql://localhost/score", user, psw);
Ich denke, es ist entweder die falsche URL oder die DB-Konfiguration, aber ich weiß wirklich nicht, was zu überprüfen. Irgendwelche Ideen?
EDIT: Mein Freund hat mein problem behoben, durch das ersetzen von "localhost" im URL durch "127.0.0.1" (das war ziemlich peinlich, wie Sie sich sicherlich vorstellen kann 😛 ).
Frage also ist: Wieso ist XAMPP nicht in der Lage zu übersetzen "localhost" in die IP-Adresse und wie man es beheben?
- Diesem post behauptet, Sie habe es behoben. Überprüfen Sie es heraus.
- Genannten skip-networking variable auskommentiert ist in meinem XAMPP standardmäßig, also ich fürchte das ist nicht das problem..
- Können Sie zum durchsuchen der MySQL-Datenbank mit dem Query-Browser? Ich erinnere mich, läuft in ein ähnliches Problem mit einer Java-Anwendung, die sich weigerten, zu erkennen, zu benennen, die die Verbindungszeichenfolge für MySQL.
- Vergessen Sie nicht, dieses wichtige Schritt auf diesen link - ferdidolot.wordpress.com/2009/06/14/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist kein XAMPP-problem, noch ein Programmier-problem. Das ist eher ein DNS-problem.
Starten, haben Sie eine
%SystemRoot%/system32/drivers/etc/hosts
- Datei mit der folgenden Zeile als ersten Linie? (also, nach allen Kommentaren, aber vor jeder anderen host-Deklarationen)Update: gemäß der Kommentare, die ich habe Gegoogelt ein bisschen und es so Aussehen, dass der JDBC-Treiber für MySQL nicht Essen IPv6 - Adressen. In anderen Worten, Sie müssen
::1
zu127.0.0.1
. Aber ich fand auch dieses Thema, die erwähnt, dass Sie verwenden können Sie das folgende JVM-argument, um dieses problem zu beheben:Habe ich versucht und bekam eine erfolgreiche Verbindung. Zuerst erstellen Sie eine Datenbank in phpmyadmin - zB. 'mydb'
und dann im code setzen Verbindung.url mit diesem Wert
Wenn Sie nicht eine Datenbank erstellen, die es zunächst nicht verbinden
In MySql müssen Sie Zugriff für Ihre Benutzer von localhost explizit. Hier ist ein Beispiel (entnommen aus hier):