Oii, Rodrigo, tudo bem?
O erro fala que o usuário root não tem permissão para acessar o banco de dados a partir do host local.
Antes de tudo, você pode verificar esta resposta e tentar o que o aluno relatou funcionar como solução? Caso não dê, vou deixar mais recomendações abaixo.
Como você mencionou que consegue acessar o MySQL com o usuário root sem senha na máquina 192.168.17.134, pode ser que o problema pode estar relacionado ao jeito como o Ansible está tentando se conectar ao MySQL.
Dito isso, aqui estão duas soluções que podem te ajudar:
- Checar as permissões do usuário no MySQL: O root é o usuário com maior permissões, então você precisa ver se ele tem permissões para se conectar ao banco de dados a partir de qualquer host, não apenas do localhost. Use o seguinte comando no MySQL:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'sua_senha_aqui' WITH GRANT OPTION;
FLUSH PRIVILEGES;
No código acima, por favor, altere o 'sua_senha_aqui' pela senha que você quer definir para o root. Se você não quiser usar uma senha para o usuário root, o Ansible tbm precisa estar configurado para se conectar sem uma senha.
- Configuração do Ansible: no playbook do Ansible, na tarefa "Cria banco MySQL", você precisa garantir que as credenciais de login estão certas. Se você não estiver usando uma senha, pode tentar adicionar
login_unix_socket: /var/run/mysqld/mysqld.sock
à tarefa para forçar o Ansible a usar o socket Unix para se conectar ao MySQL, o que é o método padrão quando o MySQL é acessado localmente sem senha.
Se a dúvida persistir, estamos aqui.
Abraços! :)
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.