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

Erro ao separar máquinas

Boa noite pessoal,

Quando estava utilizando a mesma maquina para WordPress e MySQL funcionou perfeitamente.

Ao separar as máquinas estou com erro "Error establishing a database connection"

Segue diretório do GIT: https://github.com/motaleo17/Ansible_WorPress

Agradeço!

2 respostas
solução!

Olá, Leonardo!

Quando você separa as máquinas do WordPress e do MySQL, é necessário garantir que o MySQL permita conexões remotas e que o usuário do banco de dados tenha permissões para acessar de uma máquina diferente.

Aqui estão alguns passos para resolver o problema "Error establishing a database connection":

  1. Configurar o MySQL para aceitar conexões remotas:

    • Edite o arquivo de configuração do MySQL (mysqld.cnf). Geralmente, ele está localizado em /etc/mysql/mysql.conf.d/mysqld.cnf.
    • Altere o bind-address para 0.0.0.0 para permitir conexões de qualquer endereço IP.
    sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
    

    Procure pela linha:

    bind-address = 127.0.0.1
    

    E altere para:

    bind-address = 0.0.0.0
    
  2. Conceder permissões ao usuário do WordPress:

    • No seu playbook Ansible (provisioning.yml), você precisa garantir que o usuário do WordPress tenha permissões para acessar o banco de dados a partir do IP da máquina onde o WordPress está rodando.

    Aqui está um exemplo de como isso pode ser feito:

    - name: Create database user with name 'wordpress_user' and password '12345' with all database privileges
      community.mysql.mysql_user:
        name: 'wordpress_user'
        password: '12345'
        priv: 'wordpress_db.*:SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER'
        state: present
        login_unix_socket: /run/mysqld/mysqld.sock
        host: '{{ item }}'
      with_items:
        - 'localhost'
        - '127.0.0.1'
        - 'IP_DA_MAQUINA_WORDPRESS'
      become: yes
    

    Substitua IP_DA_MAQUINA_WORDPRESS pelo endereço IP da máquina onde o WordPress está rodando.

  3. Reiniciar o MySQL:

    • Após fazer essas alterações, reinicie o serviço do MySQL para que as mudanças tenham efeito.
    sudo systemctl restart mysql
    
  4. Verificar a configuração do WordPress:

    • No arquivo de configuração do WordPress (wp-config.php), certifique-se de que as informações de conexão com o banco de dados estão corretas, especialmente o DB_HOST, que deve ser o endereço IP da máquina onde o MySQL está rodando.
    define('DB_HOST', 'IP_DA_MAQUINA_MYSQL');
    

Seguindo esses passos, você deve conseguir resolver o problema de conexão entre o WordPress e o MySQL em máquinas separadas.

Espero ter ajudado e bons estudos!

Lucas,

Obrigado, era o arquivo do WordPress wp-config.php que não estava com o IP da máquina do Mysql.