Estou tentando configurar a réplica do MySQL. No master, quando altero bind-address
o valor para my.cnf
o endereço IP do servidor, alguns sites quebram porque estão usando 127.0.0.1
como valor de host do banco de dados.
Existem poucos outros sites (WordPress) que funcionam porque o WP usa localhost
como valor de host db.
É um servidor de produção, então não tenho liberdade para mudar 127.0.0.1
para localhost
todos os sites que quebram ou experimentam mudanças.
Existe alguma outra maneira de manter bind-address
o valor de configuração do mysql como o IP do servidor e funcionar com localhost ou 127.0.0.1 especificado nas configurações dos sites?
Este é o meu /etc/hosts, alguns valores foram redigidos
# cat /etc/hosts
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
127.0.0.1 localhost ns123456
xx.xx.xx.xx ns123456.ip-11-22-33.net ns123456
Atualizações
Há uma boa discussão em https://stackoverflow.com/questions/19712307/mysql-localhost-127-0-0-1 , mas não fornece uma resposta clara.
Ao vincular um soquete IPv4, a API do soquete BSD (usada pela maioria dos *nix e outros sistemas operacionais) deixa duas opções: vincular a um único endereço ou vincular a todos os endereços usando o endereço reservado 0.0.0.0, também conhecido como INADDR_ANY.
Para que sua instância mysqld possa ser acessada por clientes locais usando 127.0.0.1 (em vez do endereço do host) e servidores de réplica remotos que precisam usar o endereço do host, dois endereços são necessários. Diga ao mysqld para vincular duas vezes, se a versão suportar : um soquete para cada endereço, ou então vincular uma vez ao INADDR_ANY que permite todos os acessos possíveis.
Da documentação :
Em caso de dúvida, basta usar 0.0.0.0. Se o servidor tiver mais de uma interface ou mais de um endereço (além da interface de loopback) e você não quiser acessar todas essas interfaces e/ou endereços, mesmo assim, um firewall adequado já deverá estar instalado, ou caso contrário, será implementado para lidar com este caso.