Android

Hoe verbinding te maken met MySQL via SSH-tunnel

02 Connecting to MySQL via SSH

02 Connecting to MySQL via SSH

Inhoudsopgave:

Anonim

Standaard luistert de MySQL-server alleen op localhost, wat betekent dat deze alleen toegankelijk is voor applicaties die op dezelfde host draaien.

In sommige situaties wilt u misschien verbinding maken met de server vanaf externe locaties. Een optie zou zijn om de MySQL-server te configureren om externe verbindingen toe te staan, maar dat vereist beheerdersrechten en dit kan beveiligingsrisico's veroorzaken.

Een veiliger alternatief zou zijn om een ​​SSH-tunnel te maken van het lokale systeem naar de server. SSH-tunneling is een methode voor het maken van een gecodeerde SSH-verbinding tussen een client en een servermachine waarmee servicespoorten kunnen worden doorgestuurd.

In deze handleiding leggen we uit hoe u een SSH-tunnel kunt maken en verbinding kunt maken met de MySQL-server vanaf externe clients. Dezelfde instructies gelden voor MariaDB.

voorwaarden

  • SSH Client.SSH toegang tot het systeem waarop de MySQL-server draait.

Maak een SSH-tunnel op Linux en macOS

De ssh client is vooraf geïnstalleerd op de meeste Linux- en Unix-systemen.

ssh -N -L 3336:127.0.0.1:3306 @

De gebruikte opties zijn als volgt:

  • -N - Vertelt SSH om geen externe opdracht uit te voeren. -L 3336:127.0.0.1:3306 - Creëert een lokale port forwarding. De lokale poort ( 3306 ), de bestemmings-IP ( 127.0.0.1 ) en de externe poort ( 3306 ) worden gescheiden door een dubbele punt (:). @ - De externe SSH-gebruiker en het IP-adres van de server. Om de opdracht op de achtergrond uit te voeren, gebruikt u de optie -f Als de SSH-server naar een andere poort luistert dan 22 (de standaardinstelling), geeft u de poort op met de optie -p .

Nadat u de opdracht hebt uitgevoerd, wordt u gevraagd uw SSH-gebruikerswachtwoord in te voeren. Nadat u deze hebt ingevoerd, wordt u aangemeld bij de server en wordt de SSH-tunnel tot stand gebracht. Het is een goed idee om een ​​op SSH-sleutel gebaseerde verificatie in te stellen en verbinding te maken met de server zonder een wachtwoord in te voeren.

Nu kunt u de MySQL-client van uw lokale machine naar 127.0.0.1:3336 wijzen, de aanmeldingsgegevens voor de externe database invoeren en toegang krijgen tot de MySQL-server.

Als u bijvoorbeeld verbinding wilt maken met de MySQL-server met de opdrachtregel mysql client, geeft u het volgende uit:

mysql -u MYSQL_USER -p -h 127.0.0.1

Waar MYSQL_USER de externe MySQL-gebruiker is die toegang heeft tot de database.

Voer desgevraagd het MySQL-gebruikerswachtwoord in.

Typ CTRL+C in de console waarop de SSH-client wordt uitgevoerd om de SSH-tunnel te beëindigen.

Maak een SSH-tunnel op Windows

Windows-gebruikers moeten eerst een SSH-clientprogramma downloaden en installeren. De populairste Windows SSH-client is PuTTY. Je kunt PuTTY hier downloaden.

Voer de volgende stappen uit om een ​​SSH-tunnel naar de MySQL-server te maken met PuTTY:

  1. Start Putty en voer het IP-adres van de server in het veld Host name (or IP address) in:

    Conclusie

    MySQL, de populairste open-source databaseserver, luistert alleen naar inkomende verbindingen op localhost. Door een SSH-tunnel te maken, kunt u veilig verbinding maken met de externe MySQL-server vanaf uw lokale client.

    mysql mariadb ssh