Se esegui una normale installazione di MySQL su Debian, verrà configurato per bloccare le connessioni esterne al database.
Ciò significa che devi ancora dire a MySQL che l'accesso esterno è OK. Per fare ciò, è necessario aggiornare l'indirizzo di collegamento per MySQL. Questo è configurato in my.cnf
, che, sui sistemi basati su Debian, si trova in /etc/mysql/my.cnf
.
Lì, trova la sezione che dice
[mysqld]
Lì dentro, devi assicurarti che
- la riga
skip-networking
è commentato (i commenti iniziano con un '#') o non è presente e - L'indirizzo Bind è impostato su
0.0.0.0
(che è se non c'è un indirizzo di collegamento di linea) o all'indirizzo IP del tuo server.
Dopo averlo fatto, dovresti riavviare il tuo servizio MySQL. Quindi è necessario creare un utente a cui è consentito l'accesso remoto. Questo può essere fatto con una query SQL:
GRANT ALL ON yourdatabase.* TO [email protected]'*' IDENTIFIED BY 'yourpassword';
Puoi disattivare l'asterisco per l'indirizzo IP da cui ti connetterai, se è sempre lo stesso.
Infine, devi aprire la porta 3306 (la porta utilizzata da MySQL) sul tuo firewall. Questo di solito non è necessario poiché è già aperto sulla maggior parte dei sistemi, ma può essere fatto usando il seguente comando iptables.
/sbin/iptables -A INPUT -i eth0 -p tcp --destination-port 3306 -j ACCEPT
service iptables save
Fonte:1