Directus: Bases de données externes
Comment connecter Directus à une base de données MySQL, MariaDB ou PostgreSQL
👋 Bienvenue sur la documentation de Stackhero !
Stackhero propose un service Directus cloud, prêt à l'emploi pour la production, en seulement 2 minutes :
- Collections, items, utilisateurs, rôles, requêtes API et transferts illimités
- Nom de domaine personnalisable sécurisé avec HTTPS (par exemple, https://cms.votre-entreprise.com)
- Serveur d'e-mail dédié et illimité inclus
- Serveur de cache Redis inclus pour une haute performance
- Performance optimale et sécurité renforcée grâce à une VM privée et dédiée.
- Mises à jour en un clic pour une maintenance simplifiée
Gagnez du temps et simplifiez-vous la vie : il suffit de 5 minutes pour essayer la solution Directus cloud de Stackhero !
Les instances Directus sur Stackhero sont configurées par défaut avec une base de données SQLite. Cela permet de démarrer rapidement, d'explorer la plateforme ou d'effectuer des tests en quelques minutes. Cependant, pour des environnements de production, il est recommandé d'utiliser une base de données externe plus robuste.
Connecter Directus à une base de données MySQL ou MariaDB
-
Commencez par créer un utilisateur pour Directus sur MySQL ou MariaDB. Ouvrez phpMyAdmin et accédez à Comptes utilisateurs puis cliquez sur Ajouter un compte utilisateur.
-
Indiquez un nom d'utilisateur (par exemple,
directus). Définissez un mot de passe sécurisé en cliquant sur le bouton Générer, choisissez Authentification MySQL native, puis cochez Créer une base de données portant le même nom et accorder tous les privilèges.
Création de l'utilisateur Directus sur une base MySQL/MariaDB -
Connectez-vous ensuite à votre tableau de bord Stackhero. Sélectionnez votre service Directus et cliquez sur Configurer.
-
Dans le panneau de configuration, sous Base de données, choisissez MySQL/MariaDB et complétez les champs restants comme indiqué dans la capture d'écran ci-dessous.
Configuration de MySQL/MariaDB pour Directus
Connecter Directus à une base de données PostgreSQL
-
Commencez par créer un utilisateur pour Directus sur PostgreSQL. Ouvrez PgAdmin, développez servers > postgresql, faites un clic droit sur Login/Group Roles, puis sélectionnez Create > Login/Group Role....
-
Dans le champ Name, saisissez
directus. -
Passez à l'onglet Definition et définissez un mot de passe fort et sécurisé.
-
Ensuite, allez dans l'onglet Privileges, cochez Can login, puis enregistrez le nouvel utilisateur.
Création de l'utilisateur Directus sur une base PostgreSQL -
Créez maintenant une base de données pour Directus. Faites un clic droit sur Databases et choisissez Create > Database.
-
Saisissez
directusdans le champ Database, sélectionnezdirectuscomme propriétaire, puis enregistrez vos modifications.
Création de la base Directus sur PostgreSQL -
Enfin, rendez-vous sur votre tableau de bord Stackhero, sélectionnez votre service Directus et cliquez sur Configurer.
-
Sous Base de données, sélectionnez PostgreSQL et renseignez les champs supplémentaires comme illustré ci-dessous.
Configuration de PostgreSQL pour Directus
Erreur Directus "🚨 ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server"
Si vous rencontrez l'erreur 🚨 ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client lors de l'utilisation d'un serveur MySQL qui utilise la nouvelle authentification SHA2 avec cache, Directus ne pourra pas se connecter correctement. La solution consiste à revenir à l'authentification MySQL native traditionnelle.
-
Si vous utilisez phpMyAdmin, allez dans Comptes utilisateurs, sélectionnez votre utilisateur Directus, cliquez sur Modifier le mot de passe et saisissez votre mot de passe. Veillez à choisir Authentification MySQL native comme méthode de hachage du mot de passe.
-
Vous pouvez également exécuter les commandes SQL suivantes via le CLI. Remplacez
directuspar votre nom d'utilisateur etmySecretPasswordpar le mot de passe choisi :ALTER USER 'directus'@'%' IDENTIFIED WITH 'mysql_native_password' BY 'mySecretPassword'; FLUSH PRIVILEGES;
En suivant ces étapes, votre installation Directus sur Stackhero utilisera une base de données externe adaptée à un environnement de production, offrant de meilleures performances et une fiabilité accrue.