Existe uma maneira secreta de vincular o MySQL a mais de um endereço IP?
Pelo que vi, o parâmetro bind-address no my.cnf não suporta mais de um IP e você não pode tê-lo mais de uma vez.
Existe uma maneira secreta de vincular o MySQL a mais de um endereço IP?
Pelo que vi, o parâmetro bind-address no my.cnf não suporta mais de um IP e você não pode tê-lo mais de uma vez.
Não, não há (acabei de verificar 1 hora atrás). Você pode comentar o endereço de ligação em my.cnf:
Se você quiser apenas 2 IPs, precisará usar um firewall.
Para o MySql versão 8.0.13 e superior , você pode especificar uma lista de endereços IP separados por vírgula.
Documentação relevante do MySql .
Lembre-se de reiniciar sua instância MySQL após alterar o arquivo de configuração.
A vinculação ao 127.0.0.x não o tornará disponível para todos os dispositivos, mas apenas localmente. Se você deseja disponibilizá-lo para todas as interfaces, você deve usar 0.0.0.0. Se você deseja acessá-lo de mais de uma, mas menos de todas as interfaces, você deve vincular a 0.0.0.0 e bloquear as interfaces pelas quais você não deseja ser acessado.
Além disso, como uma segunda camada de segurança, você deve certificar-se de que todos os usuários do MySQL tenham o campo de host configurado para algo diferente de % (ou seja, qualquer host).
Você não pode vincular a mais de um endereço IP, mas pode vincular a todos os endereços IP disponíveis. Em caso afirmativo, apenas use
0.0.0.0
para um endereço de ligação em seu arquivo de configuração do MySQL (por exemplo, /etc/mysql/my.cnf) da seguinte forma:Se o endereço for 0.0.0.0, o servidor aceita conexões TCP/IP em todas as interfaces IPv4 do host do servidor.
Além disso, se o endereço for
::
, o servidor aceita conexões TCP/IP em todas as interfaces IPv4 e IPv6 do host do servidor. Use este endereço para permitir conexões IPv4 e IPv6 em todas as interfaces de servidor.Ou você pode simplesmente comentar
bind-address=
completamente, para que ele seja vinculado a todos os endereços. Mas certifique-se de não terskip-networking
habilitado em seu my.cnf se quiser permitir conexões remotas também (Leia mais: MySQL: Permitir conexões remotas E locais ).Depois de alterar o endereço de ligação, não se esqueça de reiniciar seu servidor MySQL:
Eventualmente, você pode considerar executar várias instâncias do MySQL em uma única máquina (portas diferentes) com replicação Master/Slave. A replicação permite que os dados de um servidor de banco de dados MySQL (o mestre) sejam copiados para um ou mais servidores de banco de dados MySQL (os escravos).
Consulte Mais informação:
Não, você não pode. A página para a qual você vincula afirma claramente:
Como outros responderam, ainda não há uma maneira de vincular seletivamente a mais de uma interface.
Linux tem algumas ferramentas TCP que tornam isso possível. Nesta configuração, você configuraria o mysql para escutar em 127.0.0.1 e então usaria redir para expô-lo em interfaces arbitrárias.
Eu tenho usado isso para ajudar um convidado de caixa virtual a ver o mysql instalado na máquina host.
Fonte: https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_bind_address
Eu acho que sua pergunta está relacionada a este bug http://bugs.mysql.com/bug.php?id=14979 O relatório do bug sugere alguma solução alternativa.
Em my.cnf mude (geralmente /etc/mysql/my.cnf no Linux ou no Windows, verifique esta resposta.
para
Em seguida, reinicie o mysql (no serviço Ubuntu mysql restart ) no Windows geralmente o serviço é reiniciado através do Win + R services.msc
0.0.0.0 diz para ligar a todos os IPs disponíveis com porta também fornecida em my.cnf