Para habilitar a rede no MySQL você precisa ter certeza de que duas coisas são tratadas corretamente: O MySQL concede e o próprio MySQL precisa ter a rede ativada:
Configurando concessões do MySQL.
Seu comando GRANT
parece estranho para mim:
GRANT ALL ON *.* TO thufir@'192.168.0.16' IDENTIFIED BY 'hfdks4329vjkl';
Por que o '192.168.0.16'
em aspas simples, mas o usuário não é? Pode ver que '192.168.0.16'
como literal com as aspas simples para o host. Então tente fazer assim:
GRANT ALL ON *.* TO '[email protected]' IDENTIFIED BY 'hfdks4329vjkl';
Mas quando concedo permissões como essa, existem dois comandos e eles são estruturados assim:
GRANT USAGE ON *.* TO '[email protected]' IDENTIFIED BY 'thufir';
GRANT ALL PRIVILEGES ON *.* TO '[email protected]';
Depois de definir as concessões, você precisa liberar a tabela de privilégios para obter os novos privilégios a serem carregados:
FLUSH PRIVILEGES;
E você deve ser bom para ir.
Ativar rede MySQL.
Mas, por exemplo, verifique sua my.cnf
e se houver uma configuração de bind-address
como esta:
bind-address = 127.0.0.1
Isso vinculará o MySQL a localhost
(ex: 127.0.0.1
) por padrão e é um comportamento de segurança normal para o MySQL, já que expor servidores de banco de dados a uma rede pode ser um risco de segurança. Portanto, nesse caso, como você precisa de uma rede ativada, é necessário comentar isso assim:
#bind-address = 127.0.0.1
E também certifique-se de que skip-networking
esteja desativado, comentado assim:
#skip-networking
E, em seguida, reinicie o servidor MySQL para que as novas configurações entrem em vigor.
Postscript.
Agora, tudo o que foi dito, o comando GRANT
do MySQL que você usa usa o endereço IP 192.168.0.16
, mas todos os seus testes ping
e telnet
são para 192.168.0.21
. Então, qual é o endereço IP? Quando você define concessões no MySQL, você faz isso com base no endereço IP do cliente ; não o endereço IP do servidor.
Portanto, se o servidor tiver o endereço IP 192.168.0.16
e o cliente tiver o endereço IP 192.168.0.21
, o comando MySQL GRANT
deverá usar 192.168.0.21
e não a 192.168.0.16
como seus exemplos mostram. Talvez seja esse o problema?