Jeg har løst dette tidligere ved at bruge en SSH-tunnel . Du åbner en SSH-tunnel til serveren, og derefter forbinder du til MySQL-serveren der fra endepunktet af den tunnel. Som sådan ser det ud til, at du opretter forbindelse lokalt til MySQL.
Fra terminalen:
Først skal du åbne tunnelen, du kan gøre det sådan her:
ssh -N -L8889:127.0.0.1:3306 [email protected] &
Dette åbner port 8889 og åbner derefter en tunnel til your.fortrabbit.domain.com
, og sender derefter den lokale port gennem tunnelen til IP 127.0.0.1 og port 3306 relativ til serveren på your.fortrabbit.domain.com
.
Indstillingerne mere detaljeret:
-N
:Udfør ikke en fjernkommando.-L
:Angiver portene (lokale og eksterne).8889
:Din lokale port, der videresendes.127.0.0.1
:den eksterne IP, som du videresender til, i forhold til den server, som ssh opretter forbindelse til3306
:den fjernport, som du videresender til.[email protected]
:Dit brugernavn og domæne med fortrabbit.
Nu er du klar til at åbne forbindelsen. I den samme terminal skal du bruge følgende kommando:
mysql -h 127.0.0.1 -P 8889 -u mysql-username -p
port 8889 videresendes nu til porten og IP-adressen på din MySQL-server på fortrabbit-siden, så bare udskift mysql-username
med dit brugernavn på mysql-serveren, og du er forbundet!
Fra en GUI:
Du nævnte i dine kommentarer, at du bruger Ubuntu, så installer MySQL Workbench fra Softwarecenteret eller her
, opret en New Connection
og vælg forbindelsestypen som "Standard TCP/IP over SSH
".
Du skal konfigurere følgende:
SSH Hostname
:værtsnavnet eller IP-adressen på din ssh-konto med fortrabbitSSH Username
:dit brugernavn med demSSH Password
:din adgangskode med demSSH Keyfile
:Hvis du bruger nøgler til godkendelse, skal du vælge den private her.MySQL Hostname
:127.0.0.1 (fordi det er lokalt til endepunktet af din tunnel.MySQL Server Port
:normalt "3306".Username
:Brugernavnet til DBPassword
:Adgangskoden til DBDefault Schema
:Uanset hvad der skulle være standardskemaet for denne DB (kan stå tomt).
Det skulle så oprette forbindelse, uanset hvor du er!