MySQL Workbench - Remote connection
Eind 2020 heb ik MySQL Workbench geïnstalleerd op een nieuwe Linux Mint-laptop. Het lukt echter niet om een remote connection tot stand te brengen. Dus dat ik kan werken met databases die elders staan.
Casus eind 2020
Het probleem
Lukt niet om te connecten. Ik krijg verschillende foutmeldingen.
Downgraden - helpt niet
Heel wonderlijk, maar downgraden naar dezelfde versie als die draait op laptop Dell2016, maakt geen verschil.
Connecties importeren - Helpt niet
Je kunt connecties exporteren en importeren. Als ik dat doe van de oude (werkende) laptop naar de nieuwe (niet-werkende), krijg ik opnieuw een foutmelding.
Op zich niet zo gek: De passphrase verschilt per laptop.
Verschil met werkende werkstation
Op m'n nieuwe laptop krijg ik steeds gelijk een foutmelding. Op de oude laptop krijg ik vaak eerst een dialoogvenster, waar ik een wachtwoord kan invullen. Daarnaast staat er in de statusbalks Exting SSH tunnel found, connecting... - Op de nieuwe laptop is dat niet het geval.
SSH-toegang functioneert
Dit werkt gewoon:
ssh jeroen@149.123.456.216
Dan hoef ik overigens ook geen wachtwoord te geven - Passphrase is blijkbaar al opgeslagen in keychain.
Oplossing: SSH-tunnel apart defineren
Creëer eerst de tunnel in Bash:
ssh -N -L 3336:127.0.0.1:3306 jeroen@149.123.456.216 -f
En log daarna in via MySQL Workbench op local_host, met poort 3336.
Wat het Bash-commando precies doet:
-L 3336:127.0.0.1:3306 jeroen@149.123.456.216
: Maak een Local forward (of zoiets) aan. De forward komt vanjeroen@149.123.456.216
en wordt127.0.0.1
, waarbij poortnummer3306
vertaald wordt naar3336
-N
: Executeer geen commando. Maak alleen de locale forward aan-f
: Request ssh to go to the background: De Bashprompt blijf beschikbaar. Ook als je de terminal sluit, blijft de verbinding in stand (bv. via MySQL Workbench).
SSH gebruikersgegevens
Ik authenticeer middels PKI. Desalniettemin is het noodzakelijk om SSH-logingegevens in te vullen: De SSH-client (dus wat er op m'n werkstation staat) gebruikt dit om te verifiëren dat ik geauthoriseerd ben:
- Gebruikersnaam: Gebruikersnaam van het computeraccount op de client
- Wachtwoord: Dit is de passphrase op de betreffende client. Let op: Per werkstation heb ik meestal een andere passphrase.
Als SSH-connectie niet lukt
Zie ook
Bronnen
- https://dev.mysql.com/doc/workbench/en/wb-getting-started-tutorial-create-connection.html
- https://serverfault.com/questions/55343/cant-get-ssh-public-key-authentication-to-work
- https://dba.stackexchange.com/questions/3489/trying-to-use-mysql-workbench-with-tcp-ip-over-ssh-failed-to-connect
- https://dba.stackexchange.com/questions/93552/mysql-workbench-cannot-connect-to-database-server-ssh?rq=1
- https://dba.stackexchange.com/questions/106570/problem-with-new-mysql-workbench-connection?rq=1
- https://linuxize.com/post/mysql-ssh-tunnel/