Host 'xxx.xx.xxx.xxx' não é permitido conectar a este servidor MySQL
Isto devia ser muito simples, mas não consigo que funcione pela minha vida.
I'estou apenas tentando conectar remotamente ao meu servidor MySQL.
conectando como
mysql -u root -h localhost -p
funciona bem, mas tentar
mysql -u root -h 'any ip address here' -p
falha com o erro
ERROR 1130 (00000): Host ''xxx.xx.xxx.xxx'' is not allowed to connect to this MySQL server
Na tabela mysql.user
, há exatamente a mesma entrada para o usuário 'root' com host 'localhost' como outra com host '%'.
I'm no meu juízo' fim, e não tenho a menor ideia de como proceder. Qualquer ideia é bem-vinda.
622
3
Possivelmente uma precaução de segurança. Você poderia tentar adicionar uma nova conta de administrador:
Embora, como Pascal e outros notaram, não é uma grande idéia ter um usuário com este tipo de acesso aberto a qualquer IP. Se você precisa de um usuário administrativo, use o root, e deixe-o no localhost. Para qualquer outra ação, especifique exatamente os privilégios que você precisa e limite a acessibilidade do usuário, como Pascal sugeriu abaixo.
Editar:
Da FAQ do MySQL:
A mensagem
*Host ''xxx.xx.xxx.xxx'' não é permitido conectar a este servidor MySQL
é uma resposta do servidor MySQL para o cliente MySQL. Repare como ele devolve o endereço IP e não o hostname.Se você está tentando conectar com
mysql -h -u -p
e ele retorna esta mensagem com o endereço IP, então o servidor MySQL não é capaz de fazer uma pesquisa reversa no cliente. Isto é crítico porque é assim que ele mapeia o cliente MySQL para as concessões.Certifique-se de que você pode fazer um
nslookup
A partir do servidor MySQL. Se isso não funcionar, então não há nenhuma entrada no servidor DNS. Alternativamente, você pode colocar uma entrada no arquivo HOSTS do servidor MySQL (> <
Se você modificar as tabelas de subsídios manualmente (usando INSERT, UPDATE, etc.), você deve executar uma declaração
FLUSH PRIVILEGES
para dizer ao servidor que recarregue as tabelas de subsídios.PS: Eu não recomendaria permitir qualquer host para conectar para qualquer usuário (especialmente não o uso
root
). Se você estiver usando o mysql para uma aplicação cliente/servidor, prefira um endereço de sub-rede. Se você estiver usando o mysql com um servidor web ou servidor de aplicações, use IPs específicos.