Mysql
 sql >> Datenbank >  >> RDS >> Mysql

kann nicht über das Terminal (ssh) auf fortrabbit mysql db zugreifen

Ich habe dies in der Vergangenheit mit einem SSH-Tunnel gelöst . Sie öffnen einen SSH-Tunnel zum Server und verbinden sich dort vom Endpunkt dieses Tunnels mit dem MySQL-Server. Daher scheinen Sie sich lokal mit MySQL zu verbinden.

Vom Terminal:

Zuerst müssen Sie den Tunnel öffnen, Sie können es so machen:

ssh -N -L8889:127.0.0.1:3306 [email protected] &

Dies öffnet Port 8889 und öffnet dann einen Tunnel zu your.fortrabbit.domain.com , leitet dann diesen lokalen Port durch weiter den Tunnel zur IP 127.0.0.1 und Port 3306 relativ an den Server unter your.fortrabbit.domain.com .

Die Optionen im Detail:

-N :Keinen Remote-Befehl ausführen.
-L :Gibt die Ports an (lokal und remote).
8889 :Ihr lokaler Port, der weitergeleitet wird.
127.0.0.1 :die Remote-IP, zu der Sie weiterleiten, relativ zu dem Server, mit dem ssh eine Verbindung herstellt
3306 :der Remote-Port, an den Sie weiterleiten.
[email protected] :Ihr Benutzername und Ihre Domain bei fortrabbit.

Jetzt können Sie die Verbindung öffnen. Verwenden Sie im selben Terminal den folgenden Befehl:

mysql -h 127.0.0.1 -P 8889 -u mysql-username -p

Port 8889 wird jetzt auf der Fortrabbit-Seite an den Port und die IP Ihres MySQL-Servers weitergeleitet, also ersetzen Sie einfach mysql-username mit Ihrem Benutzernamen auf dem MySQL-Server, und Sie sind verbunden!

Von einer GUI:

Sie haben in Ihren Kommentaren erwähnt, dass Sie Ubuntu verwenden, also installieren Sie MySQL Workbench aus dem Software Center oder hier , erstellen Sie eine New Connection und wählen Sie als Verbindungstyp "Standard TCP/IP over SSH". ".

Sie müssen Folgendes konfigurieren:

SSH Hostname :der Hostname oder die IP Ihres SSH-Kontos bei fortrabbit
SSH Username :Ihr Benutzername mit ihnen
SSH Password :Ihr Passwort mit ihnen
SSH Keyfile :Wenn Sie Schlüssel zur Authentifizierung verwenden, wählen Sie hier den privaten aus.
MySQL Hostname :127.0.0.1 (weil es lokal zum Endpunkt Ihres Tunnels ist.
MySQL Server Port :normalerweise "3306".
Username :Der Benutzername für das DB
Password :Das Passwort für das DB
Default Schema :Was auch immer das Standardschema für diese Datenbank sein soll (kann leer gelassen werden).

Das sollte dann eine Verbindung von überall her herstellen!