Directus: Bases de dados externas
Como conectar o Directus a uma base de dados MySQL, MariaDB ou PostgreSQL
👋 Bem-vindo à documentação da Stackhero!
A Stackhero oferece um serviço Directus cloud, pronto para uso em produção, em apenas 2 minutos:
- Coleções, itens, utilizadores, funções, pedidos API e transferências ilimitados
- Nome de domínio personalizável seguro com HTTPS (por exemplo, https://cms.sua-empresa.com)
- Servidor de email dedicado e ilimitado incluído
- Servidor de cache Redis incluído para alto desempenho
- Desempenho ótimo e segurança robusta impulsionados por uma VM privada e dedicada.
- Atualizações com um clique para uma manutenção sem esforço
Poupe tempo e simplifique a sua vida: leva apenas 5 minutos para experimentar a solução cloud Directus da Stackhero!
As instâncias Directus na Stackhero vêm configuradas por defeito com uma base de dados SQLite. Isto facilita o início, permitindo explorar a plataforma ou realizar testes em poucos minutos. No entanto, para ambientes de produção, recomenda-se uma base de dados externa mais robusta.
Conectar o Directus a uma base de dados MySQL ou MariaDB
-
Primeiro, crie um utilizador para o Directus no MySQL ou MariaDB. Abra o phpMyAdmin e navegue até Contas de utilizador seguido de Adicionar conta de utilizador.
-
Forneça um nome de utilizador (por exemplo,
directus). Defina uma palavra-passe segura clicando no botão Gerar, escolha Autenticação MySQL nativa, e marque Criar base de dados com o mesmo nome e conceder todos os privilégios.
Criação de utilizador Directus numa base de dados MySQL/MariaDB -
Em seguida, faça login no seu painel de controlo Stackhero. Selecione o seu serviço Directus e clique em Configurar.
-
No painel de configuração sob Base de dados, escolha MySQL/MariaDB e complete os campos restantes conforme mostrado na imagem abaixo.
Configuração de MySQL/MariaDB para Directus
Conectar o Directus a uma base de dados PostgreSQL
-
Comece por criar um utilizador para o Directus no PostgreSQL. Abra o PgAdmin, expanda servidores > postgresql, clique com o botão direito em Login/Group Roles, e selecione Criar > Login/Group Role....
-
No campo Nome, insira
directus. -
Mude para o separador Definição e defina uma palavra-passe forte e segura.
-
Depois, vá ao separador Privilégios, marque Pode fazer login, e guarde o novo utilizador.
Criação de utilizador Directus numa base de dados PostgreSQL -
Agora crie uma base de dados para o Directus. Clique com o botão direito em Bases de dados e escolha Criar > Base de dados.
-
Insira
directusno campo Base de dados, selecionedirectuscomo proprietário, e guarde as suas alterações.
Criação de base de dados Directus no PostgreSQL -
Finalmente, navegue até ao seu painel de controlo Stackhero, selecione o seu serviço Directus, e clique em Configurar.
-
Sob Base de dados, selecione PostgreSQL e preencha os campos adicionais conforme mostrado abaixo.
Configuração de PostgreSQL para Directus
Erro Directus "🚨 ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server"
Se vir o erro 🚨 ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client ao usar um servidor MySQL que utiliza o novo protocolo de autenticação SHA2 em cache, o Directus não conseguirá conectar-se corretamente. A solução é mudar para a autenticação MySQL nativa tradicional.
-
Se estiver a usar o phpMyAdmin, navegue até Contas de utilizador, selecione o seu utilizador Directus, clique em Alterar palavra-passe, e insira a sua palavra-passe. Certifique-se de escolher Autenticação MySQL nativa como método de hashing da palavra-passe.
-
Alternativamente, pode executar os seguintes comandos SQL usando a CLI. Substitua
directuspelo seu nome de utilizador emySecretPasswordpela palavra-passe escolhida:ALTER USER 'directus'@'%' IDENTIFIED WITH 'mysql_native_password' BY 'mySecretPassword'; FLUSH PRIVILEGES;
Seguindo estes passos, garantirá que a sua instalação Directus na Stackhero utiliza uma base de dados externa adequada para um ambiente de produção, oferecendo melhor desempenho e fiabilidade.