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.
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:
- Nowe połączenie → MySQL
- Główne:
- Host:
127.0.0.1- Port:
3306- Database:
host36592_wp- Username:
host36592_wp- Password: hasło bazy
- SSH: zaznacz Use SSH Tunnel
- Host:
host36592.iqhs.pl- Port:
22- Username:
host36592(login DA)- Authentication: hasło lub klucz SSH
- Test Connection → OK → Connect
MySQL Workbench:
- New Connection → Connection Method: Standard TCP/IP over SSH
- SSH Hostname:
host36592.iqhs.pl:22- SSH Username:
host36592- SSH Password lub Key file
- MySQL Hostname:
127.0.0.1- MySQL Server Port:
3306- Username:
host36592_wp- Password: hasło bazy
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 dohost36592.iqhs.pl, tam dolocalhost: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.
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/maskadla zakresów.
Related
Feedback
Czy ten artykuł pomógł?

