Questo articolo spiega come configurare un utente sul server MySQL® per connettersi a un database MySQL da remoto.
Nota :L'articolo mostra come connettersi a un'istanza MySQL locale su aserver. Per i passaggi corrispondenti per i database cloud, consulta Connessione a un'istanza di database cloud.
Per eseguire questi passaggi, devi disporre dell'accesso al server locale per accedere come root Utente MySQL.
Recupera il tuo indirizzo IP
Devi conoscere l'indirizzo IP (Internet Protocol) del computer da cui ti stai connettendo. Puoi recuperare queste informazioni visitando uno dei seguenti siti:
- https://icanchazip.com
- https://www.whatismyip.com
Concedi l'accesso
Eseguire i seguenti passaggi per concedere l'accesso a un utente da un host remoto:
-
Accedi al tuo server MySQL in locale come
rootutente utilizzando il seguente comando:# mysql -u root -pViene richiesta la password di root MySQL.
Nota :Se accedi a MySQL senza inserire una password, considera di eseguire
mysql_secure_installationscript, che imposta una password root MySQL e aggiorna altre impostazioni per aumentare la sicurezza. Microsoft SQL Server ManagedServices può aiutarti a gestire le tue istanze del server SQL. -
Usa una
GRANTcomando nel formato seguente per abilitare l'accesso per l'utente remoto. Assicurati di modificare1.2.3.4all'indirizzo IP che hai ottenuto in precedenza emy_passwordalla password che desiderifooUserda usare:mysql> GRANT ALL ON fooDatabase.* TO fooUser@'1.2.3.4' IDENTIFIED BY 'my_password';Questa istruzione concede
ALLautorizzazioni al nuovo utente quando l'utente si connette dall'indirizzo IP specificato utilizzando la password specificata.
Testa la connessione in remoto
Per testare la connessione in remoto, accedi al server MySQL da un altro server Linux®. L'esempio seguente utilizza 44.55.66.77 come indirizzo IP del server MySQL:
# mysql -u fooUser -p -h 44.55.66.77
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 17
Server version: 5.0.45 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> _
Considerazioni
Quando configuri un utente remoto, considera le seguenti informazioni:
-
Un utente locale è diverso da un utente remoto. Ad esempio,
fooUser@localhostnon è lo stesso difooUser@1.2.3.4. Se vuoi che entrambi gli utenti abbiano le stesse autorizzazioni, devi duplicare le autorizzazioni. -
Non è consigliabile concedere
ALLpermessi. Per gli utenti standard, consigliamo di concedereGRANT SELECT,INSERT,UPDATE,DELETEautorizzazioni. -
Per concedere l'accesso solo a una tabella specifica, puoi utilizzare il
database.tablecomando. Ad esempio, nel passaggio precedente, potresti utilizzarefooDatabase.fooTableinvece difooDatabase. -
Se stai usando iptables, devi aggiungere una voce alla regola del firewall per la porta TCP (Transmission Control Protocol) 3306. Puoi usare il nome
mysqlper il numero di porta.