Para se conectar de uma máquina cliente a um banco de dados MySQL, os dados precisam passar por até 5 níveis de validação. Aqui está um caso geral em que o cliente e o servidor não estão na mesma rede e uma conexão segura não é usada:
Primeiro, certifique-se de que o MySQL está usando um
bind-address
que é diferente de localhost
por isso usa uma interface e não apenas conexões locais. Em cada nível, as regras/permissões do firewall devem permitir a conexão. Observe que uma máquina pode e geralmente tem um IP diferente internamente do que externamente. O princípio básico é:
Na maioria das vezes, os firewalls estão configurados corretamente. A última parte geralmente falta o servidor MySQL
GRANT
permissão para o DB
para o usuário externo. A última sintaxe é:Sintaxe de concessão do MySQL
Que muitas vezes tem a forma:
GRANT ALL ON <DB>.* TO '<external_user>'@'<external_ip>' IDENTIFIED BY 'external_password';