Directus: Zewnętrzne bazy danych

Jak połączyć Directus z bazą danych MySQL, MariaDB lub PostgreSQL

👋 Witamy w dokumentacji Stackhero!

Stackhero oferuje usługę Directus cloud, która jest gotowa do użycia produkcyjnego w zaledwie 2 minuty:

  • Nielimitowane kolekcje, elementy, użytkownicy, role, zapytania API oraz transfery danych
  • Własna nazwa domeny z wbudowanym HTTPS dla bezpiecznego dostępu (na przykład, https://cms.twoja-firma.com)
  • Dedykowany serwer email do nieograniczonej wysyłki maili transakcyjnych i powiadomień
  • Zintegrowany cache Redis dla wysokiej wydajności
  • Stała wydajność i wysoki poziom bezpieczeństwa dzięki prywatnej, dedykowanej infrastrukturze
  • Aktualizacje jednym kliknięciem pozwalają utrzymać system zawsze aktualny przy minimalnym wysiłku

Skup się na swoim projekcie, nie na konfiguracji: możesz przetestować rozwiązanie Directus cloud od Stackhero w zaledwie 5 minut.

Instancje Directus na Stackhero są domyślnie skonfigurowane z bazą danych SQLite. Ułatwia to szybkie rozpoczęcie pracy, dzięki czemu można eksplorować platformę lub przeprowadzać testy w ciągu kilku minut. Jednak dla środowisk produkcyjnych zaleca się użycie bardziej solidnej zewnętrznej bazy danych.

  1. Najpierw utwórz użytkownika dla Directus na MySQL lub MariaDB. Otwórz phpMyAdmin i przejdź do Konta użytkowników, a następnie Dodaj konto użytkownika.

  2. Podaj nazwę użytkownika (na przykład directus). Ustaw bezpieczne hasło, klikając przycisk Generuj, wybierz Natychmiastowe uwierzytelnianie MySQL i zaznacz Utwórz bazę danych o tej samej nazwie i przyznaj wszystkie uprawnienia.

    Tworzenie użytkownika Directus w bazie danych MySQL/MariaDBTworzenie użytkownika Directus w bazie danych MySQL/MariaDB

  3. Następnie zaloguj się do swojego panelu Stackhero. Wybierz swoją usługę Directus i kliknij Konfiguruj.

  4. W panelu konfiguracji pod Baza danych wybierz MySQL/MariaDB i wypełnij pozostałe pola, jak pokazano na poniższym zrzucie ekranu.

    Konfiguracja MySQL/MariaDB dla DirectusKonfiguracja MySQL/MariaDB dla Directus

  1. Zacznij od utworzenia użytkownika dla Directus na PostgreSQL. Otwórz PgAdmin, rozwiń serwery > postgresql, kliknij prawym przyciskiem na Role logowania/grupy i wybierz Utwórz > Role logowania/grupy....

  2. W polu Nazwa wpisz directus.

  3. Przejdź do zakładki Definicja i ustaw silne, bezpieczne hasło.

  4. Następnie przejdź do zakładki Uprawnienia, zaznacz Może się logować i zapisz nowego użytkownika.

    Tworzenie użytkownika Directus w bazie danych PostgreSQLTworzenie użytkownika Directus w bazie danych PostgreSQL

  5. Teraz utwórz bazę danych dla Directus. Kliknij prawym przyciskiem na Bazy danych i wybierz Utwórz > Bazę danych.

  6. Wpisz directus w polu Baza danych, wybierz directus jako właściciela i zapisz zmiany.

    Tworzenie bazy danych Directus na PostgreSQLTworzenie bazy danych Directus na PostgreSQL

  7. Na koniec przejdź do swojego panelu Stackhero, wybierz swoją usługę Directus i kliknij Konfiguruj.

  8. Pod Baza danych wybierz PostgreSQL i wypełnij dodatkowe pola, jak pokazano poniżej.

    Konfiguracja PostgreSQL dla DirectusKonfiguracja PostgreSQL dla Directus

Jeśli zobaczysz błąd 🚨 ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client podczas korzystania z serwera MySQL, który używa nowego uwierzytelniania SHA2, Directus nie będzie mógł się poprawnie połączyć. Rozwiązaniem jest przejście na tradycyjne natywne uwierzytelnianie MySQL.

  1. Jeśli używasz phpMyAdmin, przejdź do Konta użytkowników, wybierz swojego użytkownika Directus, kliknij Zmień hasło i wprowadź swoje hasło. Upewnij się, że wybierasz Natychmiastowe uwierzytelnianie MySQL jako metodę haszowania hasła.

  2. Alternatywnie, możesz uruchomić następujące polecenia SQL za pomocą CLI. Zamień directus na swoją nazwę użytkownika i mySecretPassword na wybrane hasło:

    ALTER USER 'directus'@'%' IDENTIFIED WITH 'mysql_native_password' BY 'mySecretPassword';
    FLUSH PRIVILEGES;
    

Postępując zgodnie z tymi krokami, zapewnisz, że Twoja instalacja Directus na Stackhero korzysta z zewnętrznej bazy danych zaprojektowanej dla środowiska produkcyjnego, oferując lepszą wydajność i niezawodność.