Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Dúvida sobre lista de hosts que accessam MySQL

Boa tarde pessoal,

Tenho uma dúvida quanto essa parte da aula abaixo:

Quando criarmos um usuário do Wordpress, adicionaremos uma lista de hosts possíveis de serem conectarem com o MySQL, que é a própria máquina local. Ela será acessada por dois nomes: localhost e pelo IP 127.0.0.1. Incluiremos também o IP da máquina que roda Wordpress, para definir que esta tenha permissão de utilizar o usuário quando se conectar com MySQL. Qual parâmetro vai receber o loop? O parâmetro host, lembrando que devemos respeitar a indentação.

 - name: 'Cria o usuário do MySQL'
   mysql_user:
      login_user: root
      name: wordpress_user
      password:12345
      priv: 'wordpress_db.*:ALL'
      state: present
      host: "{{ item }}"
   with_items:
    - 'localhost'
    - '127.0.0.1'
    - '172.17.177.40'

Quando o professor se refere a própria máquina local. Ela será acessada por dois nomes: localhost e pelo IP 127.0.0.1.

Ele se se refere a máquina rodando o MySQL ?

Pergunto pq quando tento acessar o wordpress no browser pela máquia que roda o MySQL não consigo.

Grato, Edvaldo

6 respostas

opá, é isso mesmos localhost se refere a maquina do Mysql, essa parte é configuração de usuário que o wordpress vai usar para acessar o banco de dados, não tem haver com seu problema de acesso via browser da maquina SQL

Olá, Edvaldo. Tudo bem?

Quando o professor fala de máquina local é sobre a máquina que roda o MySQL em si. Cada uma das máquinas possui seu próprio endereço 127.0.0.1 ou loopback.

Para o Wordpress usar os dados na aplicação, já que está rodando em uma máquina diferente da que roda o banco de dados, a máquina na qual ele roda precisa ter acesso permitido no banco. Então, nesse caso, o que é definido é que o banco de dados também pode ser acessado pela máquina do Wordpress.

Já o fato de você não conseguir acessar o Wordpress pela máquina do MySQL não tem necessariamente a ver com essa configuração que você trouxe.Se as duas máquinas estiverem na mesma rede, você deverá conseguir acessar o Worpress a partir da maquina do MySQL usando o IP da máquina que está rodando o Wordpress. Foi isso que você tentou fazer?

Por exemplo, se você está na máquina virtual do MySQL e sua máquina do WordPress foi definida no Vagrantfile com o IP 172.17.177.40, então é esse endereço que você deve colocar no browser.

Espero ter ajudado.

Valeu Vitor,

Acho que agora entendi, eu consegui acessar o wordpress na minha máquina local no browser com endereço IP 172.17.177.40. Então supondo que se eu fizer o ssh para a VM do MySQL e abrir um browser de lá e digitar o IP do wp 172.17.177.40 vou conseguir acessar pq foram definidos os "localhost" e o IP 127.0.0.1 à list de hosts certo ?

solução!

Por nada, Edvaldo.

Se você acessar a máquina do MySQL por SSH e rodar um curl no endereço do WordPress, você deve ter como resposta o conteúdo dele, mas esse fato não tem a ver com os endereços adicionados na configuração do MySQL.

Como disse acima, aqueles endereços adicionados foram para definir quais endereços podem acessar o banco de dados. É um controle da aplicação do banco de dados em si para saber quais endereços podem acessar os dados. Aquela task do Ansible vai "dizer" para o MySQL que ele deve permitir que aqueles endereços podem acessar o banco.

Uma coisa é a aplicação de banco de dados e outra é a máquina na qual a aplicação roda.

Você consegue acessar o WordPress através da máquina do MySQL porque as duas máquinas estão na mesma rede. No Vagrantfile que é definido no curso, temos a opção de configuração de "public_network", e os endereços definidos lá fazem parte da mesma rede, então as máquinas conseguem se comunicar.

config.vm.define "wordpress" do |wp|
    wp.vm.network "private_network", ip: "172.16.0.10"
end

config.vm.define "mysql" do |wp|
    wp.vm.network "private_network", ip: "172.16.0.11"
end

Então, para reforçar, você conseguir acessar o WordPress a partir da máquina que roda o MySQL não tem a ver com a configuração do banco de dados.

Entendi Vitor, essa task somente dis ao MySQL quais Ips poderão acessar o banco, nessa caso a propria máquina localhost, 127.0.0.1 e a wp vm.

muito obrigado.

Exato!

Não há de quê. Se precisar, estamos aqui.