Je hebt MYSQL draaien op je server, maar het is geopend op lokale poorten voor beveiligingsredenen. Als je je databases wilt beheren met iets anders dan webbased apps zoals PHPMyAdmin, zoals de MySQL Query browser, dan moet je de poorten openen voor de buitenwereld. Dat is niet erg veilig, dus een nadeel voor de awesome apps als de Query Browser.

Gelukkig is er een oplossing voor. We kunnen port forwarding gebruiken via een SSH tunnel. Op diem anier kan de MySQL client connecten naar localhost, terwijl de poort geforward wordt naar de server via een SSH tunnel.

Om een tunnel te maken, kan je naar de desbetreffende server connecten met het volgende:
ssh -L 3306:localhost:3306 dude@server.com

De syntax is:
ssh -L <local-port>host-forwarding-to<remote-port> <username>@<remote-host>

-L voor het binden van het adres, de lokale poort, lokale host, remote poort en de ssh inlog gegevens. Wanneer je een app gebruikt als de MySQL Query Browser, kan je connecten naar localhost, en dus vanaf daar de poort binden. Je kan ook ssh -L gebruiken om een poort te openen voor 1 server naar een andere server.

Als je MySQL ook op je lokale machine gebruikt, kan je een andere poort gebruiken om MySQL mee te forwarden naar de remote host. Wanneer je dit doet, bestaat de kans dat je de tunnel opzet naar een privileged port, dus heb je root privileges nodig om de poort te accessen (daarom is sudo ook toegevoegd aan het voorbeeld hieronder). Je kan de MySQL Query Browser naar de andere poort laten wijzen, en de command line is dan iets als het volgende:
sudo ssh -L 666:localhost:3306 dude@bytemods.com

Wanneer de SSH tunnel is opgezet, kan je MySQL Query Browser starten en het wijzen naar localhost met de poort die je hebt aangegeven, en het beste is, je hoeft nergens een poort te openen.


Reageer op dit artikel







Voer hier de code in: