Introduzione

MySQL consente di creare più account utente e concedere i privilegi appropriati in modo che gli utenti possano connettersi e gestire il database.

Se l'account utente non è più necessario, è una buona idea rimuovere i privilegi dell'utente o eliminare completamente l'account utente.

Questo tutorial spiega come eliminare gli account utente MySQL / MariaDB.

L'istruzione DROP USER

In MySQL, è possibile rimuovere uno o più utenti e assegnare i privilegi con l'istruzione DROP USER. La sintassi generale di questa affermazione è la seguente:

DROP USER [IF EXISTS] USER_ACCOUNT [, USER_ACCOUNT] ...

Ad esempio per rimuovere il login dell'utente [email protected] alla shell MySQL  eseguire il seguente comando:

DROP USER '[email protected]';

In caso di successo il comando restituirà un messaggio di output simile al seguente:

Query OK, 0 rows affected (0.00 sec)

Per rimuovere più account utente in un singolo comando, eseguire l'istruzione DROP USER seguita dagli utenti che si desidera rimuovere separati da spazio:

DROP USER '[email protected]' '[email protected]';

Se si tenta di eliminare un account utente che non esiste e l'istruzione IF EXISTS non viene utilizzata, il comando restituirà un errore.

Se l'utente che si sta tentando di rimuovere è attualmente connesso, la sessione utente non verrà chiusa e l'utente sarà in grado di eseguire query fino al termine della sessione. Una volta chiusa la sessione, l'utente viene rimosso e non sarà più possibile accedere al server MySQL.

I database e gli oggetti creati dall'utente non vengono rimossi automaticamente.

Come rimuovere degli account utente MySQL

Questa sezione fornisce istruzioni dettagliate su come elencare e rimuovere gli account utente MySQL.

Innanzitutto, accedi alla shell MySQL con l'utente root o un altro utente amministrativo. Per fare ciò digitare il seguente comando:

sudo mysql

Se si utilizza il vecchio plug-in nativo di autenticazione MySQL per accedere come root, eseguire il comando seguente e inserire la password quando richiesto:

mysql -u root -p

I comandi seguenti vengono eseguiti all'interno della shell MySQL.

MySQL memorizza le informazioni sugli utenti, nella tabella user nel database MySQL. Utilizzare la seguente query per ottenere un elenco di tutti gli account utente MySQL:

SELECT User, Host FROM mysql.user;

L'output dovrebbe essere simile al seguente:

+------------------+-----------+
| user             | host      |
+------------------+-----------+
| root             | localhost |
| piero            | %         |
| noviello         | localhost |
+------------------+-----------+
3 rows in set (0.00 sec)

Proviamo per esempio ad eliminare l'account utente MySQL [email protected]

Per eliminare la corsa utente:

DROP USER 'piero'@'localhost'
Query OK, 0 rows affected (0.00 sec)

Il comando rimuoverà l'account utente e i suoi privilegi.

Conclusione

Per rimuovere un account utente MySQL, utilizzare l'istruzione DROP USER seguita dal nome dell'utente che si desidera rimuovere.