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 en production, en seulement 2 minutes :
- Collections, éléments, 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-mails dédié et illimité inclus
- Serveur de cache Redis inclus pour une haute performance
- Performance optimale et sécurité robuste propulsées par une VM privée et dédiée.
- Mises à jour en un clic pour une maintenance sans effort
Gagnez du temps et simplifiez-vous la vie : il suffit de 5 minutes pour essayer la solution cloud Directus 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, pour explorer la plateforme ou effectuer des tests en quelques minutes. Cependant, pour les environnements de production, il est recommandé d'utiliser une base de données externe plus robuste.
Connexion de Directus à une base de données MySQL ou MariaDB
-
Tout d'abord, créez un utilisateur pour Directus sur MySQL ou MariaDB. Ouvrez phpMyAdmin et accédez à Comptes utilisateurs, puis à Ajouter un compte utilisateur.
-
Fournissez 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, et cochez Créer une base de données avec le même nom et accorder tous les privilèges.
Création d'un utilisateur Directus sur une base de données MySQL/MariaDB -
Ensuite, connectez-vous à 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
Connexion de Directus à une base de données PostgreSQL
-
Commencez par créer un utilisateur pour Directus sur PostgreSQL. Ouvrez PgAdmin, développez serveurs > postgresql, cliquez avec le bouton droit sur Login/Group Roles, et sélectionnez Créer > Login/Group Role....
-
Dans le champ Nom, entrez
directus. -
Passez à l'onglet Définition et définissez un mot de passe fort et sécurisé.
-
Ensuite, allez dans l'onglet Privilèges, cochez Peut se connecter, et enregistrez le nouvel utilisateur.
Création d'un utilisateur Directus sur une base de données PostgreSQL -
Créez maintenant une base de données pour Directus. Cliquez avec le bouton droit sur Bases de données et choisissez Créer > Base de données.
-
Entrez
directusdans le champ Base de données, sélectionnezdirectuscomme propriétaire, et enregistrez vos modifications.
Création d'une base de données Directus sur PostgreSQL -
Enfin, accédez à votre tableau de bord Stackhero, sélectionnez votre service Directus, et cliquez sur Configurer.
-
Sous Base de données, sélectionnez PostgreSQL et remplissez les champs supplémentaires comme indiqué 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 voyez 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 employant le nouveau protocole d'authentification SHA2 en cache, Directus ne pourra pas se connecter correctement. La solution consiste à passer à l'authentification MySQL native traditionnelle.
-
Si vous utilisez phpMyAdmin, accédez à Comptes utilisateurs, sélectionnez votre utilisateur Directus, cliquez sur Modifier le mot de passe, et entrez votre mot de passe. Assurez-vous de choisir Authentification MySQL native comme méthode de hachage du mot de passe.
-
Alternativement, vous pouvez exécuter les commandes SQL suivantes en utilisant la 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, vous garantirez que votre installation Directus sur Stackhero utilise une base de données externe adaptée à un environnement de production, offrant des performances et une fiabilité améliorées.