Directus: Database esterne
Come connettere Directus a un database MySQL, MariaDB o PostgreSQL
👋 Benvenuto nella documentazione di Stackhero!
Stackhero offre un servizio Directus cloud pronto per l'uso in produzione in soli 2 minuti:
- Collezioni, elementi, utenti, ruoli, richieste API e trasferimenti dati illimitati
- Nome di dominio personalizzato con HTTPS integrato per un accesso sicuro (ad esempio, https://cms.tua-azienda.com)
- Server email dedicato per invii illimitati di email transazionali e di notifica
- Redis cache integrata per alte prestazioni
- Prestazioni costanti e sicurezza avanzata grazie a un'infrastruttura privata e dedicata
- Aggiornamenti con un clic per mantenere il sistema sempre aggiornato con il minimo sforzo
Concentrati sul tuo progetto, non sulla configurazione: puoi scoprire la soluzione Directus cloud di Stackhero in soli 5 minuti.
Le istanze di Directus su Stackhero sono configurate di default con un database SQLite. Questo rende facile iniziare, permettendo di esplorare la piattaforma o eseguire test in pochi minuti. Tuttavia, per ambienti di produzione, si raccomanda un database esterno più robusto.
Connessione di Directus a un database MySQL o MariaDB
-
Innanzitutto, create un utente per Directus su MySQL o MariaDB. Aprite phpMyAdmin e navigate su Account utente seguito da Aggiungi account utente.
-
Fornite un nome utente (ad esempio,
directus). Impostate una password sicura cliccando sul pulsante Genera, scegliete Autenticazione MySQL nativa, e selezionate Crea database con lo stesso nome e concedi tutti i privilegi.
Creazione utente Directus su un database MySQL/MariaDB -
Successivamente, accedete al vostro dashboard Stackhero. Selezionate il vostro servizio Directus e cliccate su Configura.
-
Nel pannello di configurazione sotto Database, scegliete MySQL/MariaDB e completate i campi rimanenti come mostrato nello screenshot qui sotto.
Configurazione di MySQL/MariaDB per Directus
Connessione di Directus a un database PostgreSQL
-
Iniziate creando un utente per Directus su PostgreSQL. Aprite PgAdmin, espandete server > postgresql, cliccate con il tasto destro su Ruoli di accesso/Gruppo, e selezionate Crea > Ruolo di accesso/Gruppo....
-
Nel campo Nome, inserite
directus. -
Passate alla scheda Definizione e impostate una password forte e sicura.
-
Successivamente, andate alla scheda Privilegi, selezionate Può accedere, e salvate il nuovo utente.
Creazione utente Directus su un database PostgreSQL -
Ora create un database per Directus. Cliccate con il tasto destro su Database e scegliete Crea > Database.
-
Inserite
directusnel campo Database, selezionatedirectuscome proprietario, e salvate le modifiche.
Creazione di un database Directus su PostgreSQL -
Infine, navigate al vostro dashboard Stackhero, selezionate il vostro servizio Directus, e cliccate su Configura.
-
Sotto Database, selezionate PostgreSQL e compilate i campi aggiuntivi come mostrato di seguito.
Configurazione di PostgreSQL per Directus
Errore Directus "🚨 ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server"
Se vedete l'errore 🚨 ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client quando utilizzate un server MySQL che impiega il nuovo protocollo di autenticazione SHA2 in cache, Directus non sarà in grado di connettersi correttamente. La soluzione è passare all'autenticazione MySQL nativa tradizionale.
-
Se utilizzate phpMyAdmin, navigate su Account utente, selezionate il vostro utente Directus, cliccate su Cambia password, e inserite la vostra password. Assicuratevi di scegliere Autenticazione MySQL nativa come metodo di hashing della password.
-
In alternativa, potete eseguire i seguenti comandi SQL utilizzando la CLI. Sostituite
directuscon il vostro nome utente emySecretPasswordcon la password scelta:ALTER USER 'directus'@'%' IDENTIFIED WITH 'mysql_native_password' BY 'mySecretPassword'; FLUSH PRIVILEGES;
Seguendo questi passaggi, garantirete che la vostra installazione di Directus su Stackhero utilizzi un database esterno progettato per un ambiente di produzione, offrendo prestazioni e affidabilità migliorate.