Zastanawiasz się, jak połączyć się z bazą danych z zewnątrz? Uruchamiasz aplikację lub system CMS, który potrzebuje dostępu do zgromadzonych danych w bazie danych, ale działa na zewnętrznym hoście? Krok po kroku przeprowadzę Cię przez tę konfigurację. Domyślnie, bazy danych MySQL działają w obszarze localhost. Oznacza to, że są dostępne tylko dla aplikacji zainstalowanych na tym samym serwerze. Aby umożliwić połączenie z zewnętrznego hosta, musisz skonfigurować odpowiednie ustawienia w panelu DirectAdmin. Oto jak to zrobić.
- Jak połączyć się z bazą danych MySQL z zewnętrznego hosta?
- Dlaczego połączenie z bazą danych z zewnątrz jest domyślnie zablokowane?
Jak skonfigurować połączenie z bazą danych MySQL z hosta zewnętrznego?
Aby połączyć się z bazą danych MySQL z zewnętrznego hosta, musisz zmienić konfigurację tejże bazy w DirectAdmin oraz dodać zaufany adres IP, który będzie miał pozwolenie na dostęp do bazy danych. Jeżeli nie wiesz jak utworzyć bazę danych to kliknij tutaj. Oto kroki, które powinieneś wykonać. Przeprowadzę Cię krok po kroku przez ten proces:
1. Uruchom panel administratora hostingu DirectAdmin
2. W menu nawigacji odszukaj sekcję Zarządzaj/Zarządzanie kontami > Bazy danych.
3. Skorzystaj z opcji Zarządzaj, przy wybranym przez Ciebie użytkowniku, aby m.in. zmienić hasło dostępu użytkownikowi. Możesz też nadać mu uprawnienia do innej bazy danych lub nowego, dodatkowego hosta.
4. W obszarze Allowed hosts / Dozwolone hosty, wskaż źródłowy adres IP lub wzorzec hosta, którego można używać podczas łączenia się z bazą danych przy użyciu poświadczeń wybranego konta użytkownika baz danych.
- Hostem może być host lokalny (localhost), %, IPv4 lub IPv6
- Wzorzec hosta % oznacza, że dozwolone jest połączenie z dowolnego adresu IP.
- Potwierdź klikając Add host.
Dlaczego połączenie z bazą danych z zewnątrz jest domyślnie zablokowane?
To dobre pytanie. Skoro taka funkcjonalność nie jest niczym nowy, a wręcz często poszukiwanym, chociażby, gdy chcesz oddzielić serwer baz danych od serwera FTP. Domyślnie, MySQL jest skonfigurowany tak, aby zezwalać na połączenia tylko z lokalnego hosta (tzw. localhost). Czy to najlepsze rozwiązanie?
Ta konfiguracja jest korzystna z punktu widzenia bezpieczeństwa. Dlaczego? Ponieważ ogranicza dostęp do lokalnego hosta, a przez to minimalizuje wszelkie ryzyko nieautoryzowanego dostępu do danych. Ponadto zapewnia bezpieczeństwo samej aplikacji. Komunikacja między rozdzielonymi na dwa serwery zasobami, jest bardziej narażona na atak/przechwycenie danych. W końcu łatwiej jest zarządzać zasobami jednego serwera.
Z drugiej strony, rozdzielenie serwera baz danych i FTP na dwa osobne, może przynieść duże korzyści w wydajności serwera. To chociażby możliwość skalowania zasobami serwera aplikacji i serwera baz danych. Takie rozwiązanie pozwala, np. zwiększyć moc obliczeniową serwera aplikacji lub pamięć serwera baz danych w zależności od potrzeb, bez wpływu na drugi komponent. Ponadto izolacja serwera baz danych od serwera aplikacji dodaje dodatkową warstwę zabezpieczeń.