Directus: Erro Directus "🚨 ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server"

Esta documentação faz parte do guia Bases de dados externas. Consulte o guia completo aqui: 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.
  1. 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!

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.

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

  2. Alternativamente, pode executar os seguintes comandos SQL usando a CLI. Substitua directus pelo seu nome de utilizador e mySecretPassword pela 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.