Directus: Externe databases
Hoe Directus te verbinden met een MySQL-, MariaDB- of PostgreSQL-database
👋 Welkom bij de Stackhero-documentatie!
Stackhero biedt een Directus cloud dienst die binnen 2 minuten klaar is voor productiegebruik:
- Onbeperkte collecties, items, gebruikers, rollen, API-verzoeken en dataverkeer
- Aangepaste domeinnaam met ingebouwde HTTPS voor veilige toegang (bijvoorbeeld https://cms.uw-bedrijf.com)
- Toegewijde mailserver voor onbeperkt verzenden van transactionele en notificatie-e-mails
- Geïntegreerde Redis-cache voor hoge prestaties
- Consistente performance en sterke beveiliging dankzij een privé, dedicated infrastructuur
- One-click updates om uw systeem eenvoudig up-to-date te houden
Richt u op uw project, niet op de installatie: u kunt Stackhero's Directus cloud-oplossing in slechts 5 minuten verkennen.
Directus-instanties op Stackhero zijn standaard geconfigureerd met een SQLite-database. Dit maakt het eenvoudig om snel te beginnen, zodat u het platform kunt verkennen of binnen enkele minuten tests kunt uitvoeren. Voor productieomgevingen wordt echter een robuustere externe database aanbevolen.
Directus verbinden met een MySQL- of MariaDB-database
-
Maak eerst een gebruiker aan voor Directus op MySQL of MariaDB. Open phpMyAdmin en ga naar Gebruikersaccounts gevolgd door Gebruikersaccount toevoegen.
-
Geef een gebruikersnaam op (bijvoorbeeld
directus). Stel een veilig wachtwoord in door op de knop Genereren te klikken, kies Native MySQL-authenticatie, en vink Maak database met dezelfde naam en geef alle privileges aan.
Directus-gebruikersaanmaak op een MySQL/MariaDB-database -
Log vervolgens in op uw Stackhero-dashboard. Selecteer uw Directus-service en klik op Configureren.
-
Kies in het configuratiescherm onder Database voor MySQL/MariaDB en vul de resterende velden in zoals weergegeven in de onderstaande schermafbeelding.
Configuratie van MySQL/MariaDB voor Directus
Directus verbinden met een PostgreSQL-database
-
Begin met het aanmaken van een gebruiker voor Directus op PostgreSQL. Open PgAdmin, vouw servers > postgresql uit, klik met de rechtermuisknop op Login/Groep Rollen, en selecteer Aanmaken > Login/Groep Rol....
-
Voer in het veld Naam
directusin. -
Ga naar het tabblad Definitie en stel een sterk, veilig wachtwoord in.
-
Ga vervolgens naar het tabblad Privileges, vink Kan inloggen aan, en sla de nieuwe gebruiker op.
Directus-gebruikersaanmaak op een PostgreSQL-database -
Maak nu een database aan voor Directus. Klik met de rechtermuisknop op Databases en kies Aanmaken > Database.
-
Voer
directusin het veld Database in, selecteerdirectusals eigenaar, en sla uw wijzigingen op.
Directus-databaseaanmaak op PostgreSQL -
Navigeer ten slotte naar uw Stackhero-dashboard, selecteer uw Directus-service, en klik op Configureren.
-
Selecteer onder Database PostgreSQL en vul de aanvullende velden in zoals hieronder weergegeven.
Configuratie van PostgreSQL voor Directus
Directus-fout "🚨 ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server"
Als u de foutmelding 🚨 ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client ziet bij het gebruik van een MySQL-server die de nieuwe caching SHA2-authenticatie gebruikt, kan Directus niet correct verbinden. De oplossing is om over te schakelen naar de traditionele native MySQL-authenticatie.
-
Als u phpMyAdmin gebruikt, ga naar Gebruikersaccounts, selecteer uw Directus-gebruiker, klik op Wachtwoord wijzigen, en voer uw wachtwoord in. Zorg ervoor dat u Native MySQL-authenticatie kiest als wachtwoordhashmethode.
-
U kunt ook de volgende SQL-commando's uitvoeren met behulp van de CLI. Vervang
directusdoor uw gebruikersnaam enmySecretPassworddoor uw gekozen wachtwoord:ALTER USER 'directus'@'%' IDENTIFIED WITH 'mysql_native_password' BY 'mySecretPassword'; FLUSH PRIVILEGES;
Door deze stappen te volgen, zorgt u ervoor dat uw Directus-installatie op Stackhero een externe database gebruikt die geschikt is voor een productieomgeving, wat verbeterde prestaties en betrouwbaarheid biedt.