Ricerca nel sito web

Aggiunta di un nuovo utente MySQL semplificata: una guida completa


Questo tutorial ti mostrerà come aggiungere un nuovo utente a MySQL e concedere diversi tipi di privilegi a un database MySQL.

Se sei nuovo su MySQL o hai bisogno di un ripasso su come aggiungere un nuovo utente e concedere privilegi di accesso, sei nel posto giusto. Il server MySQL consente di creare numerosi account utente e concedere privilegi appropriati in modo che gli utenti possano accedere e gestire i database, garantendo che solo gli utenti autorizzati possano eseguire azioni specifiche.

Quindi, una volta installato MySQL sul server, è necessario creare un database e account utente aggiuntivi. Questa guida ti guiderà attraverso l'aggiunta di un nuovo utente MySQL e la concessione dei privilegi di accesso necessari.

Per eseguire i comandi mostrati in questa guida, devi prima accedere al server MySQL con l'account root MySQL.

mysql -u root -p

Come creare un nuovo utente MySQL

L'istruzione CREATE USER crea un nuovo utente nel server del database MySQL. Ecco la sintassi di base dell'istruzione:

CREATE USER 'username'@'hostname' IDENTIFIED BY 'password';

Sostituisci nome utente e password con il nome utente e la password desiderati nella sintassi sopra.

Imposta hostname su localhost se desideri che l'utente possa connettersi a MySQL Server solo dal localhost, che significa "questo computer". Se vuoi che l'utente possa connettersi da qualsiasi host, utilizza il carattere jolly % come nome host.

Ad esempio, creeremo un utente con il nome james e la password MyStrongPass123 utilizzando il seguente comando:

CREATE USER 'james'@'localhost' IDENTIFIED BY 'MyStrongPass123';

Tuttavia, questo utente potrà lavorare con i database MySQL solo dopo avergli concesso privilegi aggiuntivi.

Come concedere privilegi a un utente MySQL

Dopo aver creato con successo il nuovo utente, possiamo concedere i privilegi a questo nuovo utente. Nella maggior parte dei casi, concederai privilegi agli utenti MySQL in base al particolare database a cui l'account dovrebbe avere accesso.

È possibile concedere più tipi di privilegi a un account utente. Puoi trovare un elenco completo dei privilegi supportati da MySQL qui.

  • TUTTI I PRIVILEGI : concede tutti i privilegi a un account utente.
  • ALTER – L'utente può modificare la struttura di una tabella o di un database.
  • CREATE : all'account utente è consentito creare database e tabelle.
  • DROP - L'account utente è autorizzato a eliminare database e tabelle.
  • DELETE - L'account utente può eliminare righe da una tabella specifica.
  • INSERT – L'account utente può inserire righe in una tabella specifica.
  • SELECT - L'account utente è autorizzato a leggere un database.
  • UPDATE - L'account utente è autorizzato ad aggiornare le righe della tabella.

Per fornire a un utente l'accesso al database MySQL e concedere le autorizzazioni, generalmente è necessario utilizzare la seguente istruzione GRANT:

GRANT permission_type ON privilege_level TO 'username'@'hostname'; 

Ad esempio, per concedere tutti i privilegi all'utente james sul database jamesdb, utilizzare il seguente comando:

GRANT ALL PRIVILEGES ON jamesdb.* TO 'james'@'localhost';

Tuttavia, digita quanto segue per concedere solo i privilegi SELECT e INSERT all'utente james sul database jamesdb:

GRANT SELECT, INSERT ON jamesdb.* TO 'james'@'localhost';

Inoltre, se desideri concedere l'accesso non all'intero database ma solo a una singola tabella, puoi farlo come mostrato di seguito.

Ad esempio, concediamo i privilegi SELECT all'utente james solo sulla tabella salaries nel database employees':

GRANT SELECT ON employees.salaries TO 'james'@'localhost';

Creazione di un nuovo superutente MySQL

In alcune situazioni potrebbe essere necessario creare un superutente con autorizzazioni simili all'utente root di MySQL.

Quindi, per garantire a un utente gli stessi privilegi dell'utente root MySQL, utilizza il seguente comando, che fornisce privilegi globali all'utente james che si connette tramite localhost:

GRANT ALL ON *.* TO 'james'@'localhost' WITH GRANT OPTION;

Modifica la password di un account utente MySQL

Supponiamo di voler cambiare la password per l'utente james che si connette da localhost a NewStrongPass123; è necessario eseguire la seguente istruzione SQL:

ALTER USER 'james'@'localhost' IDENTIFIED BY 'NewStrongPass123';

Nell'istruzione SQL precedente, assicurati di modificare james con l'utente del database e localhost con l'host dell'utente.

Inoltre, se hai dimenticato la password di root di MySQL e non sei sicuro su come reimpostarla, consulta la nostra guida sull'argomento.

Mostra privilegi per un utente in MySQL

In MySQL, puoi utilizzare il comando SHOW GRANTS per visualizzare tutte le informazioni sulle concessioni per un utente. Facciamo alcuni esempi.

La seguente istruzione utilizza l'istruzione SHOW GRANTS per visualizzare i privilegi concessi all'utente corrente:

SHOW GRANTS;

Per visualizzare le concessioni per un utente MySQL, puoi utilizzare SHOW GRANTS mentre specifichi il nome utente:

SHOW GRANTS FOR 'james'@'localhost';

Revoca i privilegi da un account utente MySQL

La sintassi per revocare uno o più privilegi da un account utente è quasi identica a quella per la concessione dei privilegi.

Se devi revocare i privilegi all'utente james su un database jamesdb, applica la sintassi simile a quella utilizzata per concedere le autorizzazioni:

REVOKE ALL PRIVILEGES ON jamesdb.* FROM 'james'@'localhost';

Rimuovi utente da MySQL

Invece di revocare i privilegi, potresti voler rimuovere quell'utente. Quindi, puoi rimuovere un utente del database usando il seguente comando:

DROP USER 'james'@'localhost';

Il comando precedente rimuoverà l'utente james e tutti i suoi privilegi.

Salvataggio delle modifiche

Come passaggio finale, utilizza il comando FLUSH PRIVILEGES ogni volta che aggiorni o modifichi l'autorizzazione.

FLUSH PRIVILEGES;

Conclusione

Aggiungere un nuovo utente MySQL e concedere i privilegi di accesso è fondamentale per gestire il database e garantire che solo gli utenti autorizzati possano eseguire azioni specifiche. Dopo aver completato questo tutorial, dovresti sapere come aggiungere nuovi utenti e concedere loro varie autorizzazioni in un database MySQL.

Utilizza sempre password complesse e univoche per i tuoi utenti per aumentare la sicurezza e valuta la possibilità di revocare o modificare le autorizzazioni secondo necessità. Con un po' di pratica diventerai un professionista nell'aggiunta e nella gestione degli utenti MySQL in pochissimo tempo.

Se avete domande o feedback, sentitevi liberi di commentare.

Articoli correlati: