Per connettersi da una macchina client a un DB MySQL, i dati devono attraversare fino a 5 livelli di convalida. Ecco un caso generale in cui il client e il server non si trovano sulla stessa rete e non viene utilizzata una connessione sicura:
Per prima cosa assicurati che MySQL stia usando un bind-address
che è diverso da localhost
quindi utilizza un'interfaccia e non solo connessioni locali.
Ad ogni livello, le regole/autorizzazioni del firewall devono consentire il passaggio della connessione. Si noti che una macchina può e spesso ha un IP diverso internamente che esternamente. Il principio di base è:
Il più delle volte, i firewall sono configurati correttamente. L'ultimo pezzo manca spesso il server MySQL GRANT
ing permesso al DB
per l'utente esterno. L'ultima sintassi è:
Che spesso ha la forma:
GRANT ALL ON <DB>.* TO '<external_user>'@'<external_ip>' IDENTIFIED BY 'external_password';