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
root
utente utilizzando il seguente comando:# mysql -u root -p
Viene richiesta la password di root MySQL.
Nota :Se accedi a MySQL senza inserire una password, considera di eseguire
mysql_secure_installation
script, 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
GRANT
comando nel formato seguente per abilitare l'accesso per l'utente remoto. Assicurati di modificare1.2.3.4
all'indirizzo IP che hai ottenuto in precedenza emy_password
alla password che desiderifooUser
da usare:mysql> GRANT ALL ON fooDatabase.* TO fooUser@'1.2.3.4' IDENTIFIED BY 'my_password';
Questa istruzione concede
ALL
autorizzazioni 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@localhost
non è lo stesso di[email protected]
. Se vuoi che entrambi gli utenti abbiano le stesse autorizzazioni, devi duplicare le autorizzazioni. -
Non è consigliabile concedere
ALL
permessi. Per gli utenti standard, consigliamo di concedereGRANT SELECT,INSERT,UPDATE,DELETE
autorizzazioni. -
Per concedere l'accesso solo a una tabella specifica, puoi utilizzare il
database.table
comando. Ad esempio, nel passaggio precedente, potresti utilizzarefooDatabase.fooTable
invece 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
mysql
per il numero di porta.