Ho risolto questo problema in passato utilizzando un tunnel SSH . Si apre un tunnel SSH al server, quindi ci si connette al server MySQL dall'endpoint di quel tunnel. In quanto tale, a MySQL sembra che tu ti stia connettendo localmente.
Dal terminale:
Per prima cosa devi aprire il tunnel, puoi farlo in questo modo:
ssh -N -L8889:127.0.0.1:3306 example@sqldat.com &
Questo apre la porta 8889, quindi apre un tunnel per your.fortrabbit.domain.com , quindi inoltra quella porta locale attraverso il tunnel verso l'IP 127.0.0.1 e la porta 3306 relativa al server su your.fortrabbit.domain.com .
Le opzioni in modo più dettagliato:
-N :Non eseguire un comando remoto.-L :specifica le porte (locali e remote).8889 :la tua porta locale che viene inoltrata.127.0.0.1 :l'IP remoto a cui stai inoltrando, relativo al server a cui si sta connettendo ssh3306 :la porta remota a cui stai effettuando l'inoltro.example@sqldat.com :il tuo nome utente e dominio con fortrrabbit.
Ora sei pronto per aprire la connessione. Nello stesso terminale, usa il seguente comando:
mysql -h 127.0.0.1 -P 8889 -u mysql-username -p
la porta 8889 viene ora inoltrata alla porta e all'IP del tuo server MySQL sul lato fortrabbit, quindi sostituisci semplicemente mysql-username con il tuo nome utente sul server mysql e sei connesso!
Da una GUI:
Hai menzionato nei tuoi commenti che stai usando Ubuntu, quindi installa MySQL Workbench dal Software Center o qui
, crea un New Connection e seleziona il tipo di connessione come "Standard TCP/IP over SSH ".
Dovrai configurare quanto segue:
SSH Hostname :il nome host o l'IP del tuo account ssh con fortrrabbitSSH Username :il tuo nome utente con loroSSH Password :la tua password con loroSSH Keyfile :Se utilizzi le chiavi per l'autenticazione, seleziona quella privata qui.MySQL Hostname :127.0.0.1 (perché è locale all'endpoint del tuo tunnel.MySQL Server Port :normalmente "3306".Username :il nome utente per il DBPassword :la password per il DBDefault Schema :Qualunque dovrebbe essere lo schema predefinito per questo DB (può essere lasciato vuoto).
Questo dovrebbe quindi connettersi ovunque tu sia!