Android

Hur man ansluter till mysql genom ssh tunnel

02 Connecting to MySQL via SSH

02 Connecting to MySQL via SSH

Innehållsförteckning:

Anonim

Som standard lyssnar MySQL-servern bara på localhost, vilket innebär att den endast kan nås av applikationer som körs på samma värd.

I vissa situationer kan du dock ansluta till servern från avlägsna platser. Ett alternativ skulle vara att konfigurera MySQL-servern så att fjärranslutningar tillåts, men det kräver administrativa behörigheter och det kan orsaka säkerhetsrisker.

Ett säkrare alternativ skulle vara att skapa en SSH-tunnel från det lokala systemet till servern. SSH-tunneling är en metod för att skapa en krypterad SSH-anslutning mellan en klient och en servermaskin genom vilken serviceporter kan vidarebefordras.

I den här guiden kommer vi att förklara hur man skapar en SSH-tunnel och ansluter till MySQL-servern från fjärrklienter. Samma instruktioner gäller för MariaDB.

förutsättningar

  • SSH Client.SSH-åtkomst till det system som MySQL-servern körs på.

Skapa en SSH-tunnel på Linux och macOS

ssh klienten är förinstallerad på de flesta Linux- och Unix-baserade system.

ssh -N -L 3336:127.0.0.1:3306 @

De använda alternativen är följande:

  • -N - Ber SSH att inte utföra ett fjärrkommando. -L 3336:127.0.0.1:3306 - Skapar en lokal port vidarebefordran. Den lokala porten ( 3306 ), destinationens IP ( 127.0.0.1 ) och fjärrporten ( 3306 ) är separerade med en kolon (:). @ - Fjärransluten SSH-användare och server-IP-adress. För att köra kommandot i bakgrunden, använd alternativet -f Om SSH-servern lyssnar på en annan port än 22 (standard) ange porten med alternativet -p .

När du kör kommandot uppmanas du att ange ditt SSH-användarlösenord. När du har angett den loggas du in på servern och SSH-tunneln kommer att upprättas. Det är en bra idé att konfigurera en SSH-nyckelbaserad autentisering och ansluta till servern utan att ange ett lösenord.

Nu kan du peka din lokala maskin MySQL-klient till 127.0.0.1:3336 ange inloggningsuppgifterna för fjärrdatabasen och komma åt MySQL-servern.

För att exempelvis ansluta till MySQL-servern med hjälp av kommandoraden mysql klienten skulle du utfärda:

mysql -u MYSQL_USER -p -h 127.0.0.1

Där MYSQL_USER är den fjärranslutna MySQL-användare som har behörigheter att komma åt databasen.

Ange användarlösenordet för MySQL-användaren när du uppmanas.

För att avsluta SSH-tunneln skriver du CTRL+C i konsolen där ssh-klienten körs.

Skapa en SSH-tunnel på Windows

Windows-användare måste först ladda ner och installera ett SSH-klientprogram. Den mest populära Windows SSH-klienten är PuTTY. Du kan ladda ner PuTTY här.

Utför följande steg för att skapa en SSH-tunnel till MySQL-servern med PuTTY:

  1. Starta kitt och ange serverens Host name (or IP address) fältet Host name (or IP address) :

    Slutsats

    MySQL, den mest populära databasservern med öppen källkod, lyssnar endast på inkommande anslutningar på localhost. Genom att skapa en SSH-tunnel kan du säkert ansluta till den fjärranslutna MySQL-servern från din lokala klient.

    mysql mariadb ssh