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, gotową do użycia w produkcji, w zaledwie 2 minuty:
- Nieograniczone kolekcje, elementy, użytkownicy, role, zapytania API i transfery
- Dostosowywana nazwa domeny zabezpieczona HTTPS (na przykład, https://cms.twoja-firma.com)
- Dedykowany i nieograniczony serwer e-mail w zestawie
- Serwer cache Redis w zestawie dla wysokiej wydajności
- Optymalna wydajność i solidne bezpieczeństwo dzięki prywatnej i dedykowanej VM.
- Aktualizacje jednym kliknięciem dla bezproblemowej konserwacji
Oszczędzaj czas i upraszczaj sobie życie: wystarczy 5 minut, aby wypróbować rozwiązanie chmurowe Directus Stackhero!
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.
Łączenie Directus z bazą danych MySQL lub MariaDB
-
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.
-
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/MariaDB -
Następnie zaloguj się do swojego panelu Stackhero. Wybierz swoją usługę Directus i kliknij Konfiguruj.
-
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 Directus
Łączenie Directus z bazą danych PostgreSQL
-
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....
-
W polu Nazwa wpisz
directus. -
Przejdź do zakładki Definicja i ustaw silne, bezpieczne hasło.
-
Następnie przejdź do zakładki Uprawnienia, zaznacz Może się logować i zapisz nowego użytkownika.
Tworzenie użytkownika Directus w bazie danych PostgreSQL -
Teraz utwórz bazę danych dla Directus. Kliknij prawym przyciskiem na Bazy danych i wybierz Utwórz > Bazę danych.
-
Wpisz
directusw polu Baza danych, wybierzdirectusjako właściciela i zapisz zmiany.
Tworzenie bazy danych Directus na PostgreSQL -
Na koniec przejdź do swojego panelu Stackhero, wybierz swoją usługę Directus i kliknij Konfiguruj.
-
Pod Baza danych wybierz PostgreSQL i wypełnij dodatkowe pola, jak pokazano poniżej.
Konfiguracja PostgreSQL dla Directus
Błąd Directus "🚨 ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server"
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.
-
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.
-
Alternatywnie, możesz uruchomić następujące polecenia SQL za pomocą CLI. Zamień
directusna swoją nazwę użytkownika imySecretPasswordna 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ść.