Android

Jak połączyć się z mysql przez tunel ssh

How to Import and Export MySQL database via SSH

How to Import and Export MySQL database via SSH

Spisu treści:

Anonim

Domyślnie serwer MySQL nasłuchuje tylko na hoście lokalnym, co oznacza, że ​​dostęp do niego mogą uzyskać tylko aplikacje działające na tym samym hoście.

Jednak w niektórych sytuacjach możesz chcieć połączyć się z serwerem ze zdalnych lokalizacji. Jedną z opcji byłoby skonfigurowanie serwera MySQL w celu zezwalania na połączenia zdalne, ale wymaga to uprawnień administracyjnych i może powodować zagrożenia bezpieczeństwa.

Bardziej bezpieczną alternatywą byłoby utworzenie tunelu SSH z systemu lokalnego do serwera. Tunelowanie SSH to metoda tworzenia szyfrowanego połączenia SSH między klientem a maszyną serwerową, za pośrednictwem której można przekazywać porty usług.

W tym przewodniku wyjaśnimy, jak utworzyć tunel SSH i połączyć się z serwerem MySQL ze zdalnych klientów. Te same instrukcje dotyczą MariaDB.

Wymagania wstępne

  • SSH Client.SSH dostęp do systemu, na którym działa serwer MySQL.

Utwórz tunel SSH w systemie Linux i macOS

Klient ssh jest preinstalowany w większości systemów Linux i Unix.

ssh -N -L 3336:127.0.0.1:3306 @

Dostępne opcje są następujące:

  • -N - Mówi SSH, aby nie wykonywał polecenia zdalnego. -L 3336:127.0.0.1:3306 - Tworzy przekierowanie portów lokalnych. Port lokalny ( 3306 ), docelowy adres IP ( 127.0.0.1 ) i port zdalny ( 3306 ) są oddzielone dwukropkiem (:). @ - Zdalny użytkownik i adres IP serwera SSH. Aby uruchomić polecenie w tle, użyj opcji -f Jeśli serwer SSH nasłuchuje na porcie innym niż 22 (domyślnie), wybierz port z opcją -p .

Po uruchomieniu polecenia pojawi się monit o podanie hasła użytkownika SSH. Po wejściu do niego zostaniesz zalogowany na serwerze i utworzony zostanie tunel SSH. Dobrym pomysłem jest skonfigurowanie uwierzytelniania opartego na kluczu SSH i połączenie się z serwerem bez podawania hasła.

Teraz możesz skierować klienta MySQL na komputerze lokalnym na 127.0.0.1:3336 wprowadzić dane logowania do zdalnej bazy danych i uzyskać dostęp do serwera MySQL.

Na przykład, aby połączyć się z serwerem MySQL za pomocą klienta mysql wiersza poleceń, możesz wydać:

mysql -u MYSQL_USER -p -h 127.0.0.1

Gdzie MYSQL_USER jest zdalnym użytkownikiem MySQL mającym uprawnienia dostępu do bazy danych.

Po wyświetleniu monitu wprowadź hasło użytkownika MySQL.

Aby zakończyć tunel SSH, wpisz CTRL+C w konsoli, na której działa klient ssh.

Utwórz tunel SSH w systemie Windows

Użytkownicy systemu Windows będą musieli najpierw pobrać i zainstalować program klienta SSH. Najpopularniejszym klientem Windows SSH jest PuTTY. Możesz pobrać PuTTY tutaj.

Wykonaj następujące kroki, aby utworzyć tunel SSH do serwera MySQL za pomocą PuTTY:

  1. Uruchom Putty i wprowadź adres IP serwera w polu Host name (or IP address) :

    Wniosek

    MySQL, najpopularniejszy serwer bazy danych typu open source, nasłuchuje połączeń przychodzących tylko na hoście lokalnym. Utworzenie tunelu SSH umożliwia bezpieczne połączenie ze zdalnym serwerem MySQL z lokalnego klienta.

    mysql mariadb ssh