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 disponibiliza um serviço Directus cloud pronto para produção em apenas 2 minutos:

  • Coleções, itens, utilizadores, funções, pedidos API e transferências de dados ilimitados
  • Nome de domínio personalizado com HTTPS integrado para acesso seguro (por exemplo, https://cms.sua-empresa.com)
  • Servidor de email dedicado para envio ilimitado de emails transacionais e de notificações
  • Cache Redis integrado para elevada performance
  • Performance consistente e segurança reforçada com infraestrutura privada e dedicada
  • Atualizações com um clique para manter o seu sistema sempre atualizado com o mínimo esforço

Concentre-se no seu projeto, não na configuração: pode experimentar a solução Directus cloud da Stackhero em apenas 5 minutos.

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.