Directus: Externe Datenbanken
Wie man Directus mit einer MySQL-, MariaDB- oder PostgreSQL-Datenbank verbindet
👋 Willkommen bei der Stackhero-Dokumentation!
Stackhero bietet einen Directus Cloud Service, der in nur 2 Minuten einsatzbereit für die Produktion ist:
- Unbegrenzte Sammlungen, Elemente, Benutzer, Rollen, API-Anfragen und Übertragungen
- Anpassbarer Domainname gesichert mit HTTPS (zum Beispiel, https://cms.ihre-firma.com)
- Dedizierter und unbegrenzter E-Mail-Server inklusive
- Redis-Cache-Server für hohe Leistung inklusive
- Optimale Leistung und robuste Sicherheit durch eine private und dedizierte VM.
- Ein-Klick-Updates für mühelose Wartung
Sparen Sie Zeit und vereinfachen Sie Ihr Leben: Es dauert nur 5 Minuten, um die Directus Cloud-Lösung von Stackhero auszuprobieren!
Directus-Instanzen auf Stackhero sind standardmäßig mit einer SQLite-Datenbank konfiguriert. Dies ermöglicht einen schnellen Einstieg, sodass Sie die Plattform erkunden oder Tests innerhalb von Minuten durchführen können. Für Produktionsumgebungen wird jedoch eine robustere externe Datenbank empfohlen.
Verbindung von Directus mit einer MySQL- oder MariaDB-Datenbank
-
Erstellen Sie zunächst einen Benutzer für Directus auf MySQL oder MariaDB. Öffnen Sie phpMyAdmin und navigieren Sie zu Benutzerkonten, gefolgt von Benutzerkonto hinzufügen.
-
Geben Sie einen Benutzernamen an (zum Beispiel
directus). Legen Sie ein sicheres Passwort fest, indem Sie auf die Schaltfläche Generieren klicken, wählen Sie Native MySQL-Authentifizierung, und aktivieren Sie Datenbank mit demselben Namen erstellen und alle Berechtigungen gewähren.
Directus-Benutzererstellung auf einer MySQL/MariaDB-Datenbank -
Melden Sie sich anschließend bei Ihrem Stackhero-Dashboard an. Wählen Sie Ihren Directus-Dienst und klicken Sie auf Konfigurieren.
-
Wählen Sie im Konfigurationspanel unter Datenbank die Option MySQL/MariaDB und füllen Sie die restlichen Felder wie im untenstehenden Screenshot gezeigt aus.
Konfiguration von MySQL/MariaDB für Directus
Verbindung von Directus mit einer PostgreSQL-Datenbank
-
Beginnen Sie mit der Erstellung eines Benutzers für Directus auf PostgreSQL. Öffnen Sie PgAdmin, erweitern Sie Server > Postgresql, klicken Sie mit der rechten Maustaste auf Login/Group Roles, und wählen Sie Erstellen > Login/Group Role....
-
Geben Sie im Feld Name
directusein. -
Wechseln Sie zum Tab Definition und legen Sie ein starkes, sicheres Passwort fest.
-
Gehen Sie anschließend zum Tab Berechtigungen, aktivieren Sie Kann sich anmelden, und speichern Sie den neuen Benutzer.
Directus-Benutzererstellung auf einer PostgreSQL-Datenbank -
Erstellen Sie nun eine Datenbank für Directus. Klicken Sie mit der rechten Maustaste auf Datenbanken und wählen Sie Erstellen > Datenbank.
-
Geben Sie
directusim Feld Datenbank ein, wählen Siedirectusals Eigentümer, und speichern Sie Ihre Änderungen.
Directus-Datenbankerstellung auf PostgreSQL -
Navigieren Sie schließlich zu Ihrem Stackhero-Dashboard, wählen Sie Ihren Directus-Dienst, und klicken Sie auf Konfigurieren.
-
Wählen Sie unter Datenbank die Option PostgreSQL und füllen Sie die zusätzlichen Felder wie unten gezeigt aus.
Konfiguration von PostgreSQL für Directus
Directus-Fehler "🚨 ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server"
Wenn Sie den Fehler 🚨 ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client sehen, wenn Sie einen MySQL-Server verwenden, der die neue Caching-SHA2-Authentifizierung verwendet, kann Directus nicht ordnungsgemäß verbinden. Die Lösung besteht darin, zur traditionellen nativen MySQL-Authentifizierung zu wechseln.
-
Wenn Sie phpMyAdmin verwenden, navigieren Sie zu Benutzerkonten, wählen Sie Ihren Directus-Benutzer, klicken Sie auf Passwort ändern, und geben Sie Ihr Passwort ein. Stellen Sie sicher, dass Sie Native MySQL-Authentifizierung als Passwort-Hash-Methode wählen.
-
Alternativ können Sie die folgenden SQL-Befehle über die CLI ausführen. Ersetzen Sie
directusdurch Ihren Benutzernamen undmySecretPassworddurch Ihr gewähltes Passwort:ALTER USER 'directus'@'%' IDENTIFIED WITH 'mysql_native_password' BY 'mySecretPassword'; FLUSH PRIVILEGES;
Durch Befolgen dieser Schritte stellen Sie sicher, dass Ihre Directus-Installation auf Stackhero eine externe Datenbank verwendet, die für eine Produktionsumgebung ausgelegt ist und verbesserte Leistung und Zuverlässigkeit bietet.