Ich betreibe Linux Mint und versuche auf diese Weise eine Verbindung zu mySQL herzustellen
%Vor%Dann fragt es mich nach meinem Passwort. Das ist alles in Ordnung. Warum ist es so, dass, wenn ich so etwas eintippe, es immer noch funktioniert ....
%Vor%Sollte das nicht fehlschlagen, da auf Port 1234 kein MySQL-Server läuft?
Der Grund dafür ist, dass ich einen SSH-Tunnel erstellen möchte, um eine Verbindung zu einer Datenbank auf einem anderen Server herzustellen. Angenommen, der SSH-Tunnel leitet all meinen Datenverkehr von localhost: 3308 an myremoteserver: 3306 weiter. Da mein lokaler mySQL-Server meine Verbindungen an allen Ports akzeptiert, kann ich keine Verbindung zum Port 3308 herstellen und den Remote-Server nicht erreichen. Ich treffe immer noch meinen lokalen Server ....
Auch wenn meine SSH-Tunneloptionen falsch waren, habe ich mich gefragt, ob jemand wüsste, warum ich eine Verbindung zu Port 1234 herstellen kann und es immer noch meinen lokalen mySQL-Server unter 3306 erreicht?
IIRC mysql verbindet Sie mit einem Unix-Socket, wenn Sie sich mit localhost verbinden. Da es in diesem Fall keine Verbindung über TCP gibt, ist kein Port beteiligt und die von Ihnen angegebene Portnummer spielt keine Rolle.
Edit: Nicht sicher, ob das auf allen Systemen zutrifft, aber wenn ich 127.0.0.1 oder den Hostnamen anstelle von localhost verwende, verbindet sich mysql über TCP und die Portnummer spielt eine Rolle - ich kann nur mit der richtigen Portnummer verbinden.
@titanoboa, danke dafür! Ich hatte das gleiche Problem. Nur um hinzuzufügen, können Sie tatsächlich TCP-Verbindung sogar für localhost mit dem folgenden
erzwingen %Vor%Prost
Tags und Links mysql linux ssh-tunnel mint