Directus: Externe databases

Hoe Directus te verbinden met een MySQL-, MariaDB- of PostgreSQL-database

👋 Welkom bij de Stackhero-documentatie!

Stackhero biedt een Directus cloud service, klaar voor gebruik in productie, in slechts 2 minuten:

  • Onbeperkte collecties, items, gebruikers, rollen, API-verzoeken en overdrachten
  • Aanpasbare domeinnaam beveiligd met HTTPS (bijvoorbeeld, https://cms.uw-bedrijf.com)
  • Toegewijde en onbeperkte e-mail server inbegrepen
  • Redis-cache server inbegrepen voor hoge prestaties
  • Optimale prestaties en robuuste beveiliging aangedreven door een privé en toegewijde VM.
  1. Updates met één klik voor moeiteloos onderhoud

Bespaar tijd en vereenvoudig uw leven: het kost slechts 5 minuten om Stackhero's Directus cloud-oplossing te proberen!

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.

  1. Maak eerst een gebruiker aan voor Directus op MySQL of MariaDB. Open phpMyAdmin en ga naar Gebruikersaccounts gevolgd door Gebruikersaccount toevoegen.

  2. 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-databaseDirectus-gebruikersaanmaak op een MySQL/MariaDB-database

  3. Log vervolgens in op uw Stackhero-dashboard. Selecteer uw Directus-service en klik op Configureren.

  4. 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 DirectusConfiguratie van MySQL/MariaDB voor Directus

  1. 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....

  2. Voer in het veld Naam directus in.

  3. Ga naar het tabblad Definitie en stel een sterk, veilig wachtwoord in.

  4. Ga vervolgens naar het tabblad Privileges, vink Kan inloggen aan, en sla de nieuwe gebruiker op.

    Directus-gebruikersaanmaak op een PostgreSQL-databaseDirectus-gebruikersaanmaak op een PostgreSQL-database

  5. Maak nu een database aan voor Directus. Klik met de rechtermuisknop op Databases en kies Aanmaken > Database.

  6. Voer directus in het veld Database in, selecteer directus als eigenaar, en sla uw wijzigingen op.

    Directus-databaseaanmaak op PostgreSQLDirectus-databaseaanmaak op PostgreSQL

  7. Navigeer ten slotte naar uw Stackhero-dashboard, selecteer uw Directus-service, en klik op Configureren.

  8. Selecteer onder Database PostgreSQL en vul de aanvullende velden in zoals hieronder weergegeven.

    Configuratie van PostgreSQL voor DirectusConfiguratie van PostgreSQL voor Directus

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.

  1. 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.

  2. U kunt ook de volgende SQL-commando's uitvoeren met behulp van de CLI. Vervang directus door uw gebruikersnaam en mySecretPassword door 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.