Como resolver o erro Client does not support authentication protocol requested by server no MySQL.

Você já se deparou com esse erro antes? Teve dificuldades em resolve-lo?
Vejo abaixo como resolver esse problema de forma definitiva.
Origem do erro
Isso acontece devido à uma mudança no padrão do hash de senha de usuários no MySQL.
Essa mudança ocorreu na versão 4.1 do MySQL.
Com resolver esse problema
A solução ideal é que você faça o upgrade dos seus clients para a versão mais recentes.
Caso isso não senha possível, você pode mudar o tipo de hash da senha do seu usuário para o padrão antigo.
Para isso, basta rodar o comando abaixo:
ALTER USER root IDENTIFIED WITH mysql_native_password BY 'suaSenha';
Lembre-se de definir a senha desejada, podendo também deixar o valor vazio, caso não queira que o usuário possua uma senha.
Resolução do problema utilizando Docker
Para resolver esse problema utilizando docker, você precisa acessar o bash do seu container. Para isso, rode os comandos abaixo:
docker exec -it <seu_container> bash
Dentro do seu container, faça login no mysql, através do comando abaixo:
mysql -u root -p
Após isso, será necessário digitar a senha do usuário root.
Em seguida, altere o padrão do hash de senha de usuários do mysql, através do comando abaixo:
ALTER USER root IDENTIFIED WITH mysql_native_password BY 'suaSenha';
Pronto! Nesse momento você já deve parar de ver o erro.
Forte abraço,
Carlos Levir
Entre para nossa lista e receba conteúdos exclusivos e com prioridade
0 Comentários