1
resposta

Problemas com o Ansible

Estou na aula de configuração de banco de dados, e estou me deparando com alguns problemas. No cenário, estou usando o Ansible em um ubuntu server 20.04, e a máquina a ser controlada pelo ansible, também um ubuntu 20.04. o inventário: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

o playbook: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

o erro: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Consigo acessar normalmente o mysql com usuário root sem senha na máquina 192.168.17.134.

1 resposta

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

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software