ZARZąDZANIE HOSTINGIEM (DIRECTADMIN) • 4 MIN READ

Zdalny dostęp do MySQL

Jak skonfigurować zdalny dostęp do bazy MySQL z IQHost — z lokalnego komputera, np. dla narzędzi typu DBeaver, MySQL Workbench, HeidiSQL. Whitelist IP, SSH tunnel.

Zespół IQHost 14 maj 2026 4m read
#DirectAdmin #IQHost #hosting

Domyślnie MySQL w IQHost słucha tylko na localhost — czyli aplikacja na Twoim hostingu może się łączyć, ale Ty z domu/biura nie. Z dwóch powodów: bezpieczeństwo (mniej ataków) i ograniczenia limitów. Możesz jednak włączyć dostęp z określonych IP albo użyć SSH tunnel (bez konfiguracji DA).

Co zyskasz

  • Połączysz się z bazą MySQL z DBeaver / MySQL Workbench / HeidiSQL.
  • Wybierzesz między whitelist IP a SSH tunnel.
  • Zrozumiesz dlaczego whitelist IP jest niebezpieczny.

Wymagania wstępne

  • Konto DA z bazą.
  • Lokalny klient MySQL (DBeaver, Workbench, HeidiSQL, mysql CLI).

Wskazówka

Domyślny zalecany sposób: SSH tunnel (jeśli masz SSH — HS5+). Whitelist IP wystawia bazę na publiczny port 3306 = potencjalny target ataków.

Metoda 1: SSH Tunnel (zalecane, HS5+)

Najbezpieczniejsze. MySQL nadal słucha na localhost — Ty łączysz się przez tunel SSH.

Krok 1: Konfiguracja klienta z SSH tunnel

DBeaver:

  1. Nowe połączenie → MySQL
  2. Główne:
    • Host: 127.0.0.1
    • Port: 3306
    • Database: host36592_wp
    • Username: host36592_wp
    • Password: hasło bazy
  3. SSH: zaznacz Use SSH Tunnel
    • Host: host36592.iqhs.pl
    • Port: 22
    • Username: host36592 (login DA)
    • Authentication: hasło lub klucz SSH
  4. Test ConnectionOKConnect

MySQL Workbench:

  1. New Connection → Connection Method: Standard TCP/IP over SSH
  2. SSH Hostname: host36592.iqhs.pl:22
  3. SSH Username: host36592
  4. SSH Password lub Key file
  5. MySQL Hostname: 127.0.0.1
  6. MySQL Server Port: 3306
  7. Username: host36592_wp
  8. Password: hasło bazy Strona Bazy danych w DA — punkt konfiguracji zdalnego dostępu

Krok 2: Połącz

Klient otwiera SSH session → tworzy lokalny port → forwarduje do MySQL na serwerze.

Z perspektywy Twojego klienta — łączy się z 127.0.0.1:3306. W rzeczywistości ruch idzie przez szyfrowany SSH do host36592.iqhs.pl, tam do localhost:3306.

Zalety:

  • Szyfrowane
  • Brak otwartego portu 3306 na świat
  • Działa bez konfiguracji w DA

Metoda 2: Whitelist IP w DA

Wskazówka

Tylko jeśli musisz (np. firmowy serwer aplikacji z zewnątrz IQHost). Nie używaj dla codziennego dev-pracy.

Krok 1: Otwórz Bazy danych

Zarządzanie kontami → Bazy danych → kliknij na nazwę bazy.

Lista baz w DA

W szczegółach bazy znajdziesz sekcję Hosty zdalne dostępu (lub podobną).

Krok 2: Dodaj IP

Wpisz swój publiczny IP (sprawdź na whatismyip.com).

::: callout warn Internet domowy ma dynamiczny IP — następnym razem może być inny, dostęp przestanie działać. Jeśli IP się zmienia — używaj SSH tunnel albo VPN ze statycznym IP.

Możesz też wpisać range CIDR, np. 192.168.1.0/24 — wszystkie IP w tej puli. Albo % — wszystkie (NIEBEZPIECZNE!).

Krok 3: Połącz z DBeaver / Workbench

  • Host: host36592.iqhs.pl (lub IP serwera)
  • Port: 3306
  • Database: host36592_wp
  • Username: host36592_wp
  • Password: hasło bazy

Bez SSH tunnel — bezpośrednie połączenie do publicznego portu 3306.

Najczęstsze problemy

1. „Host 'X.X.X.X' is not allowed to connect"

  • IP nie jest w whitelist
  • IP się zmieniło (dynamiczny ISP)
  • Dla SSH tunnel: poprawne credentials SSH

2. „Connection refused"

  • Port 3306 zablokowany przez firewall IQHost (jeśli nie wlistowałeś IP)
  • SSH tunnel: port 22 zablokowany? (rzadko)

3. „Access denied for user 'user'@'host'"

  • Login pełna nazwa (host36592_wp)
  • Hasło sprawdź
  • IP odbiorcy musi być wlistowane

4. „Authentication plugin 'caching_sha2_password' cannot be loaded"

Stary klient MySQL nie obsługuje plugin (MySQL 8+). MariaDB w IQHost używa mysql_native_password — powinno działać.

Update klienta do najnowszej wersji.

5. „Połączenie zerwało się po 5 min nieaktywności"

MySQL wait_timeout default 8h, ale serwer może mieć krótszy. W kliencie ustaw keep-alive ping (DBeaver → Connection settings → KeepAlive).

6. „SSH tunnel pyta o hasło za każdym razem"

Skonfiguruj klucz SSH zamiast hasła. Patrz Klucze SSH.

7. „Mogę połączyć się z aplikacji JavaScript w przeglądarce?"

Nie bezpośrednio. MySQL protocol nie działa w przeglądarce. Aplikacje JS łączą się przez backend (Node.js, PHP, Python) → ten łączy się z MySQL.

Bezpieczeństwo

Wskazówka

Whitelist IP wystawia port 3306 na świat. Nawet z whitelist:

  • Hakerzy mogą próbować IP-spoofing
  • Vulnerability w MySQL → exploit
  • Brute-force na hasło

Zawsze preferuj SSH tunnel.

Hardening:

  • Silne hasło (16+ znaków)
  • Whitelist tylko konkretne IP, nie range
  • Po skończonej pracy usuń IP z whitelist
  • Monitor logów: kto się łączył, kiedy

Słowniczek

  • SSH Tunnel — szyfrowany kanał przez SSH, forwarduje TCP porty.
  • Port forwarding — przekierowanie ruchu z lokalnego portu na zdalny.
  • Whitelist — lista IP którym wolno się łączyć.
  • CIDR — Classless Inter-Domain Routing — format IP/maska dla zakresów.

Related

Feedback

Czy ten artykuł pomógł?

Potwierdź