Introduzione
Nella distribuzione tradizionale, le persone spesso installano il server MySQL e lo utilizzano dallo stesso host. Tuttavia, si consiglia vivamente di separare il server MySQL e il client, l'accesso al server MySQL dovrebbe essere effettuato da un host remoto. Questo metodo aiuta il sistema a diventare più sicuro e aumenta le prestazioni.
Per rendere possibile il metodo sopra, dobbiamo configurare il server MySQL per consentire la connessione remota dal suo client.
Configura il server MySQL
Innanzitutto, configuriamo il server MySQL per l'ascolto su un IP predefinito o su tutti gli indirizzi IP sul tuo server.
Se il server MySQL è nella stessa rete dei client, dovresti configurare la porta di ascolto sull'IP privato.
D'altra parte, se devi connetterti al server MySQL tramite una rete pubblica, configuriamo il server seguendo la seguente configurazione:
Apri il file di configurazione:
$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
Vai alla riga che inizia con bind-address
Per impostazione predefinita, il valore di bind-address è 127.0.0.1
Se vuoi impostare il server MySQL in ascolto su tutti gli indirizzi IP, configura il valore di bind-address =0.0.0.0
Per rendere effettive le modifiche, riavviamo il servizio MySQL:
$ sudo systemctl restart mysql
Concedi l'accesso a un utente da host remoti
In questa parte, ti mostreremo il modo per consentire l'accesso a un database agli utenti remoti.
Accedi al server MySQL:
$ sudo mysql
Allora,
mysql> GRANT ALL ON DATABASE-NAME.* TO [email protected] IDENTIFIED BY ‘USER-PASSWORD’;
Ad esempio:
mysql> GRANT ALL ON linuxways.* TO [email protected] IDENTIFIED BY ‘mysecuredpass’;
Configura Firewall
Il server MySQL è in ascolto sulla porta 3306. Devi aprire questa porta per consentire il traffico dagli host remoti. Puoi utilizzare uno dei seguenti metodi:
iptables
$ sudo iptables -A INPUT -p tcp --destination-port 3306 -j ACCEPT
ufw
Se usi ufw per aprire la porta 3306, puoi semplicemente eseguire il seguente comando:
$ sudo ufw allow 3306/tcp
Conclusione
Hai già esaminato i dettagli su come consentire connessioni remote a un server MySQL.
Se avete dubbi, fatemelo sapere. Grazie per aver letto.