Ich habe MySQL installiert und mich dort sogar als Benutzer angemeldet.
Aber wenn ich versuche, mich so zu verbinden:
http://localhost:3306
mysql://localhost:3306
Beides funktioniert nicht. Ich bin mir nicht sicher, ob beide funktionieren sollen, aber mindestens einer von ihnen sollte :)
Wie kann ich sicherstellen, dass der Port tatsächlich 3306 ist? Gibt es einen Linux-Befehl, um es irgendwie zu sehen? Gibt es auch eine korrektere Möglichkeit, es über eine URL zu versuchen?
-p
Parameter verweist . Das Hinzufügen der Prozesse hilft wirklich dabei, diese Informationen nützlicher zu machen.man netstat
.Verwenden des MySQL-Clients:
quelle
grep port /etc/mysql/my.cnf
(Zumindest in Debian / Ubuntu-Werken)oder
überprüfen
in /etc/mysql/my.cnf, um mögliche Einschränkungen anzuzeigen
quelle
Die Liste wird wie folgt angezeigt:
Verwenden Sie als Root für alle Details. Die
-t
Option beschränkt die Ausgabe auf TCP-Verbindungen-l
für Überwachungsports,-p
listet den Programmnamen auf und-n
zeigt die numerische Version des Ports anstelle einer benannten Version an.Auf diese Weise können Sie den Prozessnamen und den Port sehen.
quelle
Versuchen Sie es nur mit der Option
-e
(--execute
):Ersetzen Sie
root
durch Ihren "Benutzernamen" und "Passwort"quelle
Beide URLs sind falsch - sollten sein
Ich dachte, es sei selbstverständlich, aber für die Verbindung zu einer Datenbank mit Java ist ein JDBC-Treiber erforderlich. Sie benötigen den MySQL JDBC-Treiber .
Möglicherweise können Sie eine Verbindung über einen Socket über TCP / IP herstellen. Schauen Sie sich die MySQL-Dokumente an .
Siehe http://dev.mysql.com/doc/refman/5.0/en/connector-j-reference-configuration-properties.html
AKTUALISIEREN:
Ich habe versucht, in MySQL (
telnet ip 3306
) zu telneten , aber es funktioniert nicht:http://lists.mysql.com/win32/253
Ich denke, das haben Sie sich vorgestellt.
quelle
Ein einfacherer Ansatz für einige: Wenn Sie nur überprüfen möchten, ob sich MySQL an einem bestimmten Port befindet, können Sie den folgenden Befehl im Terminal verwenden. Auf Mac getestet. 3306 ist der Standardport.
mysql --host=127.0.0.1 --port=3306
Wenn Sie sich erfolgreich beim MySQL-Shell-Terminal anmelden, sind Sie gut! Dies ist die Ausgabe, die ich bei einer erfolgreichen Anmeldung erhalte.
quelle
3306 ist der Standardport für MySQL. Überprüfen Sie es mit:
es sollte dieses Ergebnis geben:
tcp 0 0 127.0.0.1:3306 0.0.0.0:* HÖREN
quelle
Sie können verwenden
quelle
Für mich ergab die Antwort von @ joseluisq:
Aber es hat so funktioniert:
quelle
Auf einem Mac OS X gibt es zwei Möglichkeiten.
netstat
oderlsof
Mit
netstat
wird der Vorgang unter Mac OS X nicht angezeigt. Mit netstat können Sie also nur nach Port suchen.Mit
lsof
wird der Prozessname angezeigt.Ich habe Folgendes getan, als ich auf Portkonflikte (Docker-Container) gestoßen bin:
netstat -aln | grep 3306
Ausgänge:
tcp46 0 0 *.3306 *.* LISTEN
sudo lsof -i -P | grep -i "LISTEN" | grep -i 3306
Ausgänge:
mysqld 60608 _mysql 31u IPv6 0x2ebc4b8d88d9ec6b 0t0 TCP *:3306 (LISTEN)
quelle
Wenn Sie sich auf einem System befinden, auf dem
netstat
es nicht verfügbar ist (z. B. RHEL 7 und neuere Debian-Versionen), können Siess
Folgendes verwenden:Und Sie erhalten ungefähr Folgendes für die Ausgabe:
Die vierte Spalte ist
Local Address:Port
. In diesem Fall überwacht MySQL also Port 3306, die Standardeinstellung.quelle
Ich stimme der Lösung von @ bortunac zu. my.conf ist mysql-spezifisch, während netstat Ihnen alle Überwachungsports zur Verfügung stellt.
Verwenden Sie möglicherweise beide, um zu bestätigen, welcher Port für MySQL festgelegt ist, und um zu überprüfen, ob das System diesen Port überwacht.
Mein Client verwendet CentOS 6.6 und ich habe die Datei my.conf unter / etc / gefunden. Daher habe ich Folgendes verwendet:
grep port /etc/my.conf
(CentOS 6.6)quelle